apache2:应用程序和存储库的 VirtualHost 配置

apache2:应用程序和存储库的 VirtualHost 配置

我在 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/

相关内容