CentOs 2.6 で apache2 2.2 を使用しています。
wildfly アプリケーションとソース コード リポジトリを使用できるように apache2 を構成する必要があります。アプリケーションでは、アドレス domain.com を使用し、アプリ localhost:8080/app1 にリダイレクトされます。リンク domain.com/repos/app1 を使用して、ソース コード リポジトリ (localhost/repos/app1) を使用できるようにします。両方のリンクはポート 80 を使用します。
次の構成では、アプリケーションを使用できますが、リポジトリにアクセスできません。これは、アプリケーションへのリクエストが wildfly app1 にリダイレクトされ、当然「そのようなページはありません」というページがそこに表示されるためです。
<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>
この問題を解決するにはどうすればよいですか?
答え1
正しく理解していれば、ローカル フォルダーとアプリ サーバーで実行されているアプリの両方に 2 つの URL からアクセスしたいということですね。ProxyPass / を使用すると、domain.com/repos にアクセスしようとすると、wildfly アプリにプロキシされます。domain.com/repos -> (wildfly)http://localhost:8080/app1/repos
アプリにアクセスするにはdomain.com/app1を使用し、リポジトリにアクセスするにはdomain.com/reposを使用する必要があります。そうすればURLは必要ありません。
ProxyPass /app1 http://localhost:8080/app1/
ProxyPassReverse /app1 http://localhost:8080/app1/