Ich verwende Apache2 2.2 auf CentOs 2.6.
Ich muss meinen Apache2 so konfigurieren, dass ich meine Wildfly-Anwendung und mein Quellcode-Repository verwenden kann. Für meine Anwendung verwende ich die Adresse: domain.com und werde zu meiner App weitergeleitet: localhost:8080/app1 . Über den Link domain.com/repos/app1 möchte ich mein Quellcode-Repository (localhost/repos/app1) verwenden können. Beide Links verwenden Port 80.
Mit der folgenden Konfiguration kann ich meine Anwendung verwenden, aber nicht auf mein Repository zugreifen, da die Anforderung daran an meine Wildfly-App1 umgeleitet wird und dort natürlich die Seite „Diese Seite existiert nicht“ angezeigt wird.
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com domain.com
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8080/app1/
ProxyPassReverse / http://localhost:8080/app1/
RewriteEngine On
RewriteCond %{THE_REQUEST} /app1/
RewriteRule ^/app1/(.*)$ /$1 [PT]
</VirtualHost>
Wie kann dieses Problem behoben werden?
Antwort1
Wenn ich Sie richtig verstehe, möchten Sie sowohl auf einen lokalen Ordner als auch auf eine App zugreifen, die auf einem App-Server von 2 URLs aus läuft. Wenn Sie ProxyPass / verwenden, wird beim Versuch, auf domain.com/repos zuzugreifen, eine Weiterleitung zu Ihrer Wildfly-App durchgeführt. domain.com/repos -> (wildfly)http://localhost:8080/app1/repos
Sie sollten domain.com/app1 verwenden, um Ihre App zu erreichen, und dann domain.com/repos, um Ihr Repo zu erreichen. Dann brauchen Sie die URL nicht
ProxyPass /app1 http://localhost:8080/app1/
ProxyPassReverse /app1 http://localhost:8080/app1/