2016-09-18 162 views
0

我有两个应用程序在Tomcat中这是在的Tomcat应用反向代理服务器与Apache HTTP服务器

  1. http://192.168.0.101:8080/app1/
  2. http://192.168.0.102:8080/app2/

运行我有另外一个系统上运行的Apache HTTP服务器http://192.168.0.100/

让,我有一个公共IP连接到192.168.0.100服务器。 我想配置两个指向http服务器的域。

  • 域1:one.app.com
  • 域2:two.app.com

我如何我可以使用Apache HTTP服务器为tomcat的应用程序的revrse代理?

<VirtualHost *:80> 
ServerName one.app.com 
<Location/> 
    ProxyPass http://192.168.0.101:8080/app1/ 
    SetEnv force-proxy-request-1.0 1 
    SetEnv proxy-nokeepalive 1 
</Location> 
</VirtualHost> 

以上配置只是重定向我http://192.168.0.101:8080/app1/ :(

回答

1

试试这个:

<VirtualHost *:80> 
    ServerName one.app.com 
    SetEnv force-proxy-request-1.0 1 
    SetEnv proxy-nokeepalive 1 

    ProxyPass /app1 http://192.168.0.101:8080/app1/ 
    ProxyPassReverse /app1 http://192.168.0.101:8080/app1/ 

    ProxyPass /app2 http://192.168.0.102:8080/app2/ 
    ProxyPassReverse /app2 http://192.168.0.102:8080/app2/ 
</VirtualHost> 
+0

得到它,但我的应用程序映射为/app1/css/style.css是静态的内容。试图得到:http://one.app.com/app1/css/style.css,因此没有css:( –

+0

你在你的html/javascript文件中使用完整的路径名吗?如果是这样 - 它是一个很好的做法改为相对路径 – chenchuk

+0

nope,我使用相对路径如“/ app1/*/*/*” –