我正在尝试设置Apache + Glassfish,以便可以在同一台物理主机上访问两个不同的Web应用程序,并通过URL中的主机名进行区分。
所以如果我访问http://host1.com ,我会得到app1
。 如果我访问http://host2.com ,我会得到app2
。 host1
和host2
都parsing为相同的IP地址。
我已经能够使用本指南通过mod_proxy和Glassfish虚拟服务器以基本的方式获得这个工作。 但用户仍然需要为其中一个应用程序指定上下文根,例如http://host1.com/app1
。
我怎样才能设置,使两个应用程序在各自的URL中显示为“根”?
我需要两个独立的Glassfish域吗?
这里是我使用的Apacheconfiguration:
<VirtualHost *:80> ProxyPreserveHost On ProxyPass / http://localhost:8080/app1 ProxyPassReverse / http://localhost:8080/app1 ServerName host1.com </VirtualHost> <VirtualHost *:80> ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/app2 ServerName host2.com </VirtualHost>
我很接近。 以下是结束了工作:
创build第二个域:
将这两个应用程序部署到各自域中的上下文根。 您通过给pipe理员端口指定域:
新的域将运行在端口5080,所以configurationmod_proxy使用:
<VirtualHost *:80> ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ ServerName host1.com </VirtualHost> <VirtualHost *:80> ProxyPreserveHost On ProxyPass / http://localhost:5080/ ProxyPassReverse / http://localhost:5080/ ServerName host2.com </VirtualHost>