Apache の背後にある Tomcat で SSL を使用する際に少し問題があります。私は午前中ずっと Google を使って良い解決策を見つけようとしましたが、今のところ何もありません。
私のSSL VirtualHost構成の一部として、私は持っています
<Location /MyApp/>
ProxyPass http://localhost:8080/MyApp/
</Location>
これはほとんどの場合にうまく機能しますが、j_security_check はhttps://mysite.com/MyAppからのログインに成功した後、HTTP ページを HTTPS のままにする代わりにhttp://mysite.com/MyApp/secret.htmlにリダイレクトします。ページhttps://mysite.com/MyApp/secret.html。機密なのはログイン情報だけでなく、送信されるデータなので、HTTPS を維持する必要があります。アプリケーションのセキュリティ制約に追加すると
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
https://mysite.com:8443/MyApp/secret.htmlにリダイレクトします。server.xml で SSL が 8443 に設定されているため、8443 にリダイレクトされることはわかっていますが、これは Apache 経由でプロキシされるため、実際には 443 である必要があります。
ProxyPassReverse がないことに気付きましたが、それは Apache 構成ファイルのセクション内に追加できるものではありません
j_security_check で相対をリダイレクトする (https を http に変更しない) か、8443 ではなく 443 にリダイレクトするように強制するにはどうすればよいですか? これは、Tomcat または Apache の mod_proxy を介して強制する必要がありますか?
乾杯
ニック