すべてのProxyPassディレクティブにProxyPassReverseディレクティブが必要ですか?
ProxyPass / http://foo.example.com:8080/
ProxyPassReverse / http://www.example.com/
このスニペットを見て、foo.example.com
着信するすべてのトラフィックがfoo.example.com:8080にプロキシされることを理解しています。2行目は何をしますか?
すべてのProxyPassディレクティブにProxyPassReverseディレクティブが必要ですか?
ProxyPass / http://foo.example.com:8080/
ProxyPassReverse / http://www.example.com/
このスニペットを見て、foo.example.com
着信するすべてのトラフィックがfoo.example.com:8080にプロキシされることを理解しています。2行目は何をしますか?
回答:
このディレクティブにより、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ディレクティブの設定に関して選択されることに注意してください。