2.3.101 ProxyPassReverse
バックエンドサーバから受信したLocationヘッダーのURLを変更する場合に指定します。
説明
リバースプロキシーを使用する場合、バックエンドサーバからのリダイレクトレスポンスのLocationヘッダーで示すURLを変更します。Webブラウザーからのリダイレクトによるリクエストをリバースプロキシーを通すリクエストにするためにLocationヘッダーをこのディレクティブの指定値に変更します。
なお、リバースプロキシーを使用するには、次のモジュールの組み込みが必要です。
-
mod_proxyモジュール
LoadModule proxy_module modules/mod_proxy.so
-
mod_proxy_httpモジュール
LoadModule proxy_http_module modules/mod_proxy_http.so
書式
ProxyPassReverse パス名 URL
指定できる値
- パス名
-
リダイレクトのリクエスト先であるリバースプロキシーのパス名を、スラッシュ(/)から始まるURLで指定します。
- URL
-
変更対象となるLocationヘッダー中のバックエンドサーバのURLを"http://IPアドレスまたはホスト名[:ポート番号]/"を含む形で指定します。
URLには、IPv6アドレスまたはIPv6アドレスに対応したホスト名も指定できます。IPv6アドレスにはさまざまな表記方法がありますので、指定値に注意してください。IPv6アドレスの表記が指定値と一致しない場合、ディレクティブが有効になりません。IPv6アドレスを指定する場合は、バックエンドサーバからの応答のLocationヘッダー値に含まれるIPv6アドレスの表記を確認してください。
mod_proxy_balancerによるロードバランサー構成で使用する場合、ProxyPassディレクティブのURL(balancer://クラスター名/)を指定できます。これを指定した場合、対応するBalancerMemberディレクティブに指定しているURLが実際の変更対象となるURLになります。通常、BalancerMemberディレクティブは複数指定しているので、そのすべてのURLが変更対象となります。
記述できる場所
httpsd.conf、<VirtualHost>
記述例
ProxyPass /examples/ balancer://cluster1/ ProxyPassReverse /examples/ balancer://cluster1/ <Proxy balancer://cluster1/> BalancerMember http://IPアドレスA/examples/ BalancerMember http://IPアドレスB/examples/ </Proxy>
バックエンドサーバからのLocationヘッダーに、http://IPアドレスA/examples/、またはhttp://IPアドレスB/examples/が含まれていた場合に変更対象になります。