ProxyPass を使用してポート 80 のトラフィックを Tomcat 経由でホストされている Web アプリケーションにリダイレクトするときに、Cookie を機能させる際に問題が発生します。
Cookie を有効にする動機は、URL に追加された「jsessionid=」パラメーターを取り除くことです。
Web アプリケーションの META-INF/ の context.xml で Cookie を有効にしました。http://url:8080/webapp
経由で Web アプリケーションにアクセスすると、期待どおりに動作します。jsessionid パラメータは URL に表示されず、代わりに Cookie に保存されます。
apache2 仮想ホストを介して自分の Web サイトにアクセスすると、「jsessionid」が URL に追加されるため、Cookie が機能しないようです。この問題を解決するにはどうすればよいですか?
これが私のVHost構成です:
<仮想ホスト *:80>
サーバー名 somedomain.no
ServerAlias www.somedomain.no
<プロキシ *>
注文拒否、許可
すべてから許可
</プロキシ>
ProxyPreserveHost オフ
ProxyPass / http://localhost:8080/webapp/
ProxyPassReverse / http://localhost:8080/webapp/
エラーログ /var/log/apache2/somedomain.no.error.log
CustomLog /var/log/apache2/somedomain.no.access.log 結合
</仮想ホスト>
編集: Cookie は実際に設定されています。問題は、Cookie に "Path: /webapp" が含まれていることだと推測しています。