spring boot gradle を使用したtomcat内蔵jarとapacheの連携を行っています。
その際に、apacheのmod_proxyを使用して同一サーバー内のtomcatへアクセスを捌いています。
tomcatへ連携させるためにURLをRewriteRuleで書き換えているのですが、URLの情報が欠落してしまいます。
設定としまして
httpd.confに下記のような設定をしています。
apache
1ProxyPass /aaaa/ http://127.0.0.1:8081/ 2ProxyPassReverse /aaaa/ http://127.0.0.1:8081/ 3<Location /aaaa/> 4 AddOutputFilterByType DEFLATE text/html text/plain text/xml 5 Header append Vary User-Agent env=!dont-vary 6 7 Require all granted 8 RewriteEngine on 9 RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] 10 RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC] 11 RewriteRule .* ws://127.0.0.1:8081%{REQUEST_URI} [P] 12</Location>
この時にRewriteRuleで変更されたURLを確認するとログには以下の様に出力されます。
Log
1init rewrite engine with requested uri /aaaa/login 2pass through /aaaa/login 3[perdir /aaaa/] applying pattern '.*' to uri 'proxy:http://127.0.0.1:8081/login' 4[perdir /aaaa/] RewriteCond: input='' pattern='^WebSocket$' [NC] => not-matched 5[perdir /aaaa/] pass through proxy:http://127.0.0.1:8081/login
URLを書き換えた際に「aaaa」という文字列が消えてしまいます。
REQUEST_URIが変わる原因があるのかと思い検索して見たのですが私の調査力では解決することができませんでした。
上記の対策を教えていただければと思っています。