我在 CentOs 2.6 上使用 apache2 2.2。
我需要配置我的 apache2 以允許我使用我的 wildfly 應用程式和原始程式碼儲存庫。對於我的應用程序,我使用地址: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/