2.3.100 ProxyPass
バックエンドサーバに転送するリクエストと転送するアドレスを指定します。
説明
リバースプロキシーを使用する場合、Webブラウザーからのリクエストとそれを転送するアドレスを指定します。
なお、リバースプロキシーを使用するには、次のモジュールの組み込みが必要です。
-
mod_proxyモジュール
LoadModule proxy_module modules/mod_proxy.so
-
mod_proxy_httpモジュール
LoadModule proxy_http_module modules/mod_proxy_http.so
書式
ProxyPass パス名 {URL|!} [キー=値 [キー=値 ...]]
指定できる値
- パス名
-
Webブラウザーからリバースプロキシーへのリクエストをスラッシュ(/)から始まるURLで指定します。
- URL
-
転送先となるバックエンドサーバのURLを次の文字列を含むどちらかの形で指定します。
-
"http://IPアドレス[:ポート番号]/"
-
"http://ホスト名[:ポート番号]/"
URLには、IPv6アドレスまたはIPv6アドレスに対応したホスト名も指定できます。
mod_proxy_balancerによるロードバランサー構成を使用する場合には、"balancer://クラスター名/"を指定します。クラスター名とは、<Proxy>ディレクティブと対応づけするための任意の文字列です。クラスター名には、/を含めないでください。mod_proxy_balancerによるロードバランサー構成では、<Proxy>ディレクティブとBalancerMemberディレクティブも同時に指定する必要があります。
-
- !
-
パス名に指定したリクエストをリバースプロキシーへのリクエストとしない場合に指定します。
- キー
-
URLがhttp://で始まる場合、balancer://で始まる場合で指定できるキーが異なります。
それぞれの場合に指定できるキーを次に示します。
-
URLがhttp://で始まる場合に指定できるキー
キー
値
内容
timeout
1〜65535(単位:秒)
次のバックエンドサーバとの送受信時の待ち時間を指定します。
-
バックエンドサーバへのリクエスト送信中にデータを送信できなくなった場合の待ち時間
-
バックエンドサーバへのリクエスト送信後からレスポンス受信までの待ち時間
-
バックエンドサーバからのレスポンス受信中にデータを受信しなくなった場合の待ち時間
キーが省略された場合のデフォルト値は、ProxyTimeoutディレクティブ指定値です。
connectiontimeout
1〜65535(単位:秒)
バックエンドサーバとの接続時の待ち時間を指定します。
キーが省略された場合のデフォルト値は、timeoutキー値です。
-
URLがbalancer://で始まる場合に指定できるキー
キー
値
内容
lbmethod
byrequests
ロードバランサーの振り分けアルゴリズムを指定します。
byrequests:リクエスト数による振り分けです。
キーの指定がない場合、byrequestsによる振り分けをします。
stickysession
64バイト未満の文字列
振り分け先を決める際に使用するCookie名を指定します。
このキーを指定する場合は、同時にBalancerMemberディレクティブのrouteキーも指定が必要です。
キーが省略された場合のデフォルト値はありません。
-
注意事項
!を指定する場合は、URLを指定するProxyPassディレクティブより先に指定してください。
- (例)
-
ProxyPass /abc/def/ ! ProxyPass /abc/ http://backend.example.com/
記述できる場所
httpsd.conf、<VirtualHost>