您好我在同一台机器上运行多个应用程序,如Plone,它使用在端口8080上运行的ZOPE应用程序服务器和托管多个Web应用程序并在端口8081上运行的Tomcat。
我想将来自端口80上运行的apache服务器的所有传入流量重定向到这些服务器,这样外部世界将只看到apache的默认端口80.我尝试了很多配置来做同样的事情,但似乎没有一个如果我正在配置它的工作完美无缺,那么请为两个服务器工作但是单独工作。因此,只有一个配置被使用而另一个没有效果。
我的配置如下: Pastebin Link
我也试过以下配置:
<VirtualHost *:80>
ServerName web.url.in
ProxyPreserveHost On
ProxyPass /MNCD2016 http://web.url.in:8081/MNCD2016
ProxyPassReverse /MNCD2016 http://web.url.in:8081/MNCD2016
RewriteEngine on
RewriteRule ^/$ http://web.url.in/MNCD2016
</VirtualHost>
<VirtualHost *:80>
ServerName web.url.in
ProxyPreserveHost On
ProxyPass / http://web.url.in:8080/
ProxyPassReverse / http://web.url.in:8080/
RewriteEngine on
RewriteRule ^/$ http://web.url.in/ckpw
</VirtualHost>
问题是该配置仅适用于其中一个端口而不适用于两者。例如,如果Plone重写规则在上面,它将采用优先级,而其他tomcat配置将不起作用。他们个人工作顺利。
如何让它们同时为两台服务器(Zope,Tomcat)工作,将来可能会更多。所以,我可以将来自apache的所有传入请求转移到这些服务器,外部世界应该只看到前面的apache而不是这些服务器。
这是我为Plone配置所遵循的link。