4.9.2 ディレクティブの設定方法
流量制限機能を使用するための,各ディレクティブの設定例を次に示します。
(1) サーバプロセス数(サーバスレッド数)の制限によるリクエスト拒否
次のように指定すると,リクエスト処理中のサーバプロセス数(サーバスレッド数)が13の場合には,新たなリクエスト要求はステータスコード503で拒否されます。
-
UNIX版
MaxClients 15 QOSRejectionServers 2 QOSCookieServers 0
-
Windows版
ThreadsPerChild 15 QOSRejectionServers 2 QOSCookieServers 0
(2) クッキーを使用したセション管理
クッキーを使用したセション管理には,HTTP Serverで作成したクッキーを使用するHWS作成モードと,HTTP Server以外の外部モジュールなどで作成されたクッキーを使用するユーザ作成モードがあります。QOSCookieNameディレクティブを用いて,どちらの方式を使用するかを選択します。QOSCookieNameディレクティブの詳細については,「6.2 ディレクティブの詳細」を参照してください。
- HWS作成モード
-
リクエスト処理を実施した場合には,HTTP Serverで作成したクッキーが,レスポンスヘッダのSet-Cookieヘッダに付けられます。HTTP Serverで作成したクッキーを持ったリクエスト要求は,持っていないリクエスト要求よりも優先して処理されます。
- ユーザ作成モード
-
HTTP Server以外で作成されたクッキーがレスポンスヘッダのSet-Cookieヘッダに付けられる場合に,そのクッキーを使用した流量制限が実行されます。そのクッキーを持ったリクエスト要求は,持っていないリクエスト要求よりも優先して処理されます。
次のように指定すると,リクエスト処理中のサーバスレッド数が10の場合,クッキーを持っていない新しいセションのリクエスト要求は拒否されますが,クッキーを持った継続セションは処理されます。リクエスト処理中のサーバスレッド数が13の場合は,クッキーを持っているかどうかに関係なく拒否されます。この例ではHWS作成モードで動作します。
-
UNIX版
MaxClients 15 QOSRejectionServers 2 QOSCookieServers 5
-
Windows版
ThreadsPerChild 15 QOSRejectionServers 2 QOSCookieServers 5
(3) リダイレクト
流量制限機能によってリクエスト処理を拒否する場合には,ステータスコード503でレスポンスメッセージを返送しますが,次のように指定すると,ほかのWebサーバへリダイレクトさせることができます。/index.htmlへのリクエスト要求が流量制限機能によって拒否された場合には,www1.hitachi.co.jpのWebサーバのindex.htmlをレスポンスヘッダに設定し,ステータスコード302で返送されます。
QOSRedirect /index.html http://www1.hitachi.co.jp/index.html
(4) レスポンスメッセージのカスタマイズ
次のように指定すると,拒否されたリクエストに対するレスポンスは,ステータスコード503で,レスポンスメッセージは,htdocs/busy.htmlの内容が返送されます。
QOSResponse file "text/html; charset=ISO-8859-1" htdocs/busy.html