12

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" が含まれていることだと推測しています。

4

2 に答える 2

22

私はそれを考え出した。

これをVHost構成に追加します。

ProxyPassReverseCookiePath / webapp /
于 2010-04-17T19:31:56.170 に答える
0

答えてくれてありがとう、私の完全な作業構成は次のようになります。

<VirtualHost *:80>
    ServerName extener_url.xxx.co.zm
    ProxyRequests Off
    ProxyPass / http://localhost:8080/app/
    ProxyPassReverse / http://localhost:8080/app/
    ProxyPassReverseCookiePath /app /

    ServerAdmin webmaster@localhost
    <Proxy *>
            Order deny,allow
            Allow from all  
    </Proxy>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost>
于 2020-06-21T12:42:40.163 に答える