Wildfly を使用した Apache リバース プロキシ?

Wildfly を使用した Apache リバース プロキシ?

http://localhost:8080Ubuntu 14.04 システムに Apache と Wildfly の両方をインストールしています。次に、Wildfly (ローカル) を Apache ( ) からアクセスできるようにしたいと思いますhttp://webserver/wildfly。どうすればよいでしょうか?

これまで、 と の 2 つの mod を有効にしました。proxyまたproxy_http、ドキュメントの最後に以下を追加しました/etc/apache2/apache2.conf:

ProxyRequests off
ProxyPass /wildfly/ http://localhost:8080/
ProxyPassReverse /wildfly/ http://localhost:8080/

編集:

今では半分は動作しますが、パスが正しく変換されていません。Wildfly で実行されているアプリの 1 つへのパスは次のとおりです。

http://webserver/wildfly/testproj/Index.xhtml

ただし、そのページ上のすべてのリンクは次のように処理されます。

http://webserver/testproj/Page1.xhtml
http://webserver/testproj/Page2.xhtml
http://webserver/testproj/Page3.xhtml

むしろこうです:

http://webserver/wildfly/testproj/Page1.xhtml
http://webserver/wildfly/testproj/Page2.xhtml
http://webserver/wildfly/testproj/Page3.xhtml

Wildfly をローカルで実行すると、すべて正常に動作します。これは、Apache リバース プロキシ構成にエラーがあるはずだと私に思わせます。それは正しいですか? Apache が正しいアドレス/リンクを解析するには、何をする必要がありますか?

答え1

問題が解決したことを願っていますが、この質問に対する回答を必要としている他の人がいる場合に備えて、ここに解決策があります。

EARファイル外にデプロイされるWebアプリケーションの場合(WARデプロイメント)

web-infフォルダ内

MyApp/src/main/webapp/WEB-INF/

この内容の jboss-web.xml ファイルを追加します。/ はルート デプロイメントです。これをルートとしてデプロイする場合は、"/" を "testproj" に変更するだけです。

<jboss-web>
      <context-root>/</context-root>
</jboss-web>

EAR ファイル

公式ドキュメント(リファレンスを確認してください)によると、EAR ファイル内では、コンテキスト ルートが application.xml ファイルで定義されていることがわかります。次の例では、web-client.war のコンテキスト ルートは bank なので、アプリケーションは /bank に設定され、URL は www.domaine.com/bank になります。

 <module>
    <ejb>bank-ejb.jar</ejb>
</module>
<module>
    <web>
        <web-uri>web-client.war</web-uri>
        <context-root>bank</context-root>
    </web>
</module>

参照 : Jboss Doc - 第6章 Webアプリケーションのコンテキストルートの設定

関連情報