主机2应用程序在一个域Apache HTTPD下

时间:2016-12-14 23:26:22

标签: ruby apache tomcat dashing

我正在尝试将Apache HTTPD 2.4配置为在同一服务器上托管两个不同的应用程序。

可以在端口8080(Tomcat)上访问App1

mysingledomain.com:8080

可以在端口3030(Ruby [Dashing])

上访问App2
mysingledomain.com:3030

我想要做的是分别以mysingledomain.com/App1mysingledomain.com/App2

来与他们联系

我的情况很像这个问题的开头: Host 2 Sites in HTTPD

这些都是SPA应用程序,但是当我没有DocumentRoot来分离配置时,我对如何设置它感到很困惑。

我如何设置HTTPD以这种方式处理HTTP请求?

我能够将ruby应用程序配置为遵循具有以下配置的子路径,但这会影响另一个:

<VirtualHost *:80>
  ProxyRequests On # <---- WARNING DO NOT DO THIS
  ProxyVia On
  ProxyPreserveHost On
  RewriteEngine On

  ProxyPass "/app2"  "http://192.168.0.62:3030/" retry=0
  ProxyPassReverse "/app2/"  "http://192.168.0.62/"

  RewriteRule   "^/assets/(.*)"    "/app2/assets/$1"  [R]
  RewriteRule   "^/views/(.*)"    "/app2/views/$1"  [R]
</VirtualHost>

1 个答案:

答案 0 :(得分:1)

应该这么简单:

<VirtualHost *:80>
  ServerName mysingledomain.com
  ProxyPreserveHost On

  ProxyPass /App1/  http://127.0.0.1:8080/
  ProxyPassReverse /App1/  http://127.0.0.1:8080/

  ProxyPass /App2/  http://127.0.0.1:3030/
  ProxyPassReverse /App2/  http://127.0.0.1:3030/
</VirtualHost>