Apache-Reverse-Proxy mit Wildfly?

Apache-Reverse-Proxy mit Wildfly?

Ich habe sowohl Apache als auch Wildfly auf einem Ubuntu 14.04-System installiert. Nun möchte ich Wildfly (lokal http://localhost:8080) von Apache aus zugänglich machen ( http://webserver/wildfly). Wie muss ich das machen?

Bisher habe ich die beiden Mods aktiviert: proxyund proxy_http. Und ich habe am Ende des Dokuments hinzugefügt /etc/apache2/apache2.conf:

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

BEARBEITEN:

Jetzt funktioniert die Hälfte, aber die Pfade werden nicht richtig transformiert. Der Pfad zu einer meiner Apps, die auf Wildfly laufen, lautet:

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

Aber alle Links auf dieser Seite werden folgendermaßen verarbeitet:

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

lieber als das:

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

Wenn ich Wildfly lokal ausführe, funktioniert alles einwandfrei. Das lässt mich vermuten, dass ein Fehler in der Apache Reverse Proxy-Konfiguration vorliegt. Stimmt das? Was muss ich tun, damit Apache die richtigen Adressen/Links analysiert?

Antwort1

Ich hoffe, dass Sie Ihr Problem gelöst haben, aber falls jemand anders eine Antwort auf diese Frage braucht, hier ist die Lösung,

Für Webanwendungen, die außerhalb einer EAR-Datei bereitgestellt werden (WAR-Bereitstellung)

Im Ordner „web-inf“

MeineApp/src/main/webapp/WEB-INF/

Fügen Sie eine jboss-web.xml-Datei mit diesem Inhalt hinzu, wobei / die Root-Bereitstellung ist. Wenn Sie sie in Ihrem Fall als Root bereitstellen möchten, ersetzen Sie einfach „/“ durch „testproj“.

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

EAR-Datei

Aus der offiziellen Dokumentation (bitte überprüfen Sie die Referenz) können Sie entnehmen, dass innerhalb der EAR-Datei das Kontextstammverzeichnis in der Datei application.xml definiert ist. Im folgenden Beispiel lautet das Kontextstammverzeichnis von web-client.war „bank“, daher ist die Anwendung auf /bank eingestellt, was bedeutet, dass die URL www.domaine.com/bank lautet.

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

Referenz : Jboss Doc - Kapitel 6. Festlegen des Kontextstamms einer Webanwendung

verwandte Informationen