奇妙な設定があります。次のようになります。
Browser ----------> HTTPs Proxy ------> Apache HTTP -----> Tomcat AJP
HTTPS HTTP AJP
HTTPSプロキシ(非常にダムなプロキシ)では、URLはhttps://proxy.domain.com/appのようになります。次に、http://apache.domain.com/app(ホストproxy.domain.comを渡す)のように、HTTPを使用してApacheにトンネリングされます。Apacheは、AJPプロトコルを使用してローカルでajp:// localhost:8009 / app /にリクエストをトンネルします。
アプリサーバーがリクエストされたパスをリダイレクトしたい場合があります。たとえば、/ app /を/ app / webappにリダイレクトします。したがって、パスをリダイレクトする302をApacheに送り返します-おそらくajp:// localhost:8009 / app / webappのようなものです。次に、ApacheはリダイレクトURLをhttp://proxy.domain.com/app/webappに書き換えます。HTTPSプロキシはダムなので、リダイレクトを分析してhttpをhttpsに変更しません。
したがって、ユーザーをhttpsに送信するために302リダイレクトURLを書き換えるようにApacheを設定できるかどうかを考えたいと思います。
これが、Apacheのhttps.confでこれまでに使用した設定です。
ProxyPreserveHost on
RewriteEngine on
RewriteRule ^/app$ /app/ [PT]
ProxyPass /app ajp://localhost:8009/app
ProxyPassReverseを使用してみましたが、302リダイレクトURLをhttpではなくhttpsで強制的に書き換える方法を理解できませんでした。
何かご意見は?