0

私たちの IT は、新しい apache/jboss/apj セットアップを構成しようとしています。

http://domain.com/jboss/test.jsp と System.out.printlnをブラウズする とrequest.getRequestURL()

http://domain.com/test.jspを取得します (jboss なし)

このため、私のアプリは多くの 404 に遭遇します。

IT 部門によると、Jboss にはプロキシがあるため、URL の /jboss/ 部分の概念がありません。彼らは物事を適切に構成していますか、それともコードを変更する必要がありますか? URLパスをハードコーディングする必要がある場合、私のコードは移植性がありません。

編集-

彼らが私に言ったことは次のとおりです。

<Location /jboss>
    ProxyPass balancer://cluster stickysession=JSESSIONID 
    ProxyPassReverse https://domain.com/jboss/
</Location>

この記事は私の質問をサポートしてい ます https://sosiouxme.wordpress.com/2010/08/18/fixing-apache-httpd-reverse-proxy-redirect-rewrites/

Edit2いくつかのアプリで使用されているログインフレームワークサーブレットの古いサーバーで、response.sendRedirect("login.jsp?message=You have successfully log off."); がありました。

新しいプロキシで動作するようにするには、response.sendRedirect("/jboss/AppName/login.jsp?message=正常にログオフしました。");

後者の構文では、移植性と再利用性が失われます。


response.sendRedirect("login.jsp?message=You have successfully logged off.");
File does not exist: /WEB/wwwssl/AppNamelogin.jsp
アプリケーション名と login.jsp の間に「/」がないことに注意するためのエラー (jboss ではなく Apache)


response.sendRedirect("/login.jsp?message=You have successfully logged off.");
File does not exist: /WEB/wwwssl/login.jsp
AppName is missingのエラー (jboss ではなく Apache)

4

1 に答える 1

1

あなたが言及した記事でmod_proxy_html( ProxyHTMLURLMap ProxyHTMLURLMap / /ajp/nocluster/)を使用していることに注意してください。これにより、リンクが正しいパスプレフィックスを使用するように修正されます。mod_proxyこれは、Apache Httpd で提供されるデフォルト モジュールの一部ではありません。

これらのディレクティブをブロックに入れる代わりに<Location>、1 行の構文を使用すると、パスが正しく転送される場合があります。

ProxyPass /jboss balancer://cluster stickysession=JSESSIONID 
于 2012-07-26T19:44:57.107 に答える