Apachemod_proxyを使用してリバースプロキシを設定しています。
<VirtualHost *:443>
ServerName reverse.server.com
ProxyPass / http://10.1.9.11:3000/
ProxyPassReverse / http://10.1.9.11:3000/
ProxyPreserveHost on
...snip ssl stuff...
</VirtualHost>
これはほとんどの場合正常に機能します。問題は、内部サーバーがリダイレクトを実行するときです。 proxypassreverseは場所をキャッチする必要があり、そう思われますが、 https://reverse.server.com ではなく http://reverse.server.com にリダイレクトします。 =。したがって、半分は機能しており、アドレスは正しく変更されますが、プロトコルは内部サーバーのままです。
プロキシ接続はSSLであるため、なぜこれを行うのかわかりません-何かアイデアはありますか?
ProxyPassReverse
はこの種のリダイレクトを修正できません。この問題を解決するには、次の2つの方法があります。
ProxyPass / https:...
およびProxyPassReverse / https:
(実際には最後のものは必要ありません)。Header edit Location ^http: https:
同じ問題が発生しています。 2つのアイデアを試してみましたが、実際に機能するかどうかはわかりません。1/ RequestHeaderセットを使用するX-Forwarded-Protocol "https" => http://toroid.org/ams/etc/mixing-http-および-https
2 /変数httpsindicatorheader(これはWebsphere)を使用して、最初の要求がhttpsであったことをアプリケーションサーバーを介して示します。その後、すべてのリダイレクトはhttps上になります