ProxypassディレクティブにはProxyPassReverseディレクティブが必要ですか?


20

すべてのProxyPassディレクティブにProxyPassReverseディレクティブが必要ですか?

ProxyPass / http://foo.example.com:8080/  
ProxyPassReverse / http://www.example.com/

このスニペットを見て、foo.example.com着信するすべてのトラフィックがfoo.example.com:8080にプロキシされることを理解しています。2行目は何をしますか?

回答:


15

このディレクティブにより、ApacheはHTTPリダイレクト応答のLocation、Content-Location、およびURIヘッダーのURLを調整できます

たとえば、ローカルサーバーのアドレスがhttp://example.com/であるとします。それから

ProxyPass /mirror/foo/ http://backend.example.com/
ProxyPassReverse /mirror/foo/ http://backend.example.com/
ProxyPassReverseCookieDomain backend.example.com public.example.com
ProxyPassReverseCookiePath / /mirror/foo/

は、http://example.com/mirror/foo/barに対するローカルリクエストをhttp://backend.example.com/barへのプロキシリクエストに内部的に変換するだけではありません(ProxyPassがここで提供する機能)。また、サーバーbackend.example.comが送信するリダイレクトの面倒を見る:ときhttp://backend.example.com/barはに彼によってリダイレクトされるhttp://backend.example.com/quux Apacheがこれを調整します。http:/ /example.com/mirror/foo/quuxは、HTTPリダイレクト応答をクライアントに転送する前に。URLの構築に使用されるホスト名は、UseCanonicalNameディレクティブの設定に関して選択されることに注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.