我在 liferay 上托管了三个站点,它们只使用一个门户实例,因此只有一个 tomcat 主机。
我在 liferay 上配置了虚拟主机属性,所以当我输入 www.domain1.com 时,它会转到正确的站点。 但是,当我键入没有 www 前缀的 domain1.com 时,它会转到默认的 liferay 站点。
我得到的一个解决方案是使用 apache 2、mod_proxy_http 和 mod_rewrite 模块做一个代理和重写服务器。
像domain1.com这样的站点被重写为www.domain1.com,我做了这样的代理传递:
ProxyPass / http://localhost:8085
ProxyPassReverse / http://localhost:8085
tomcat服务器监听8085端口,apache监听8080
但是当代理传递继续时,我得到一个 403 - 禁止状态。
我没有在 apache 上托管站点,我认为这就是我获得此状态的原因。 但是我不想在 apache 上有任何站点,因为这些站点在 tomcat 上。
有没有办法在不在 apache 上托管站点的情况下进行代理设置?或者也许举办一场 “虚拟”站点,只是为了让 proxypass 正常工作。
规范:
Liferay 6.1 , Tomcat 7.0.27 , Apache 2.x , Ubuntu 服务器 12.04
最好的问候!
吉列尔梅
最佳答案
试试不带“/”
ProxyPass http://localhost:8085
ProxyPassReverse http://localhost:8085
或者,您可以使用 tomcat 配置来完成:http://tomcat.apache.org/tomcat-6.0-doc/config/host.html#Host_Name_Aliases
关于apache - 在apache上做一个代理传递服务器到tomcat+liferay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16803795/