我在给定的计算机上运行多个Web服务器(Apache,Tomcat,自定义Python服务器)。我在端口80上监听Apache,标准设置也是如此。为了通过这个端口访问我的其他服务器之一,我在Apache中设置了一个ProxyPass,如下所示:
ProxyPass / http://[mydomainname]:8880/
ProxyPassReverse / http://[mydomainname]:8880/
有效。当您浏览到域名时,没有端口规范(因为暗示了80),而不是到达Apache根目录,您将被透明地重定向到计算机上的另一台服务器的根(一个Twisted服务器),监听端口8880. / p>
这是问题所在。现在看来我已经阻止任何东西到达我的Apache文件。有没有办法覆盖各个子目录的根代理传递?例如,如果您浏览到mydomain / test,我可以让它工作,就好像我根本没有代理传递,而不是将其路由到端口8880服务器上的路径?
答案 0 :(得分:4)
我在SO帖子上找到答案:ProxyPass and DocumentRoot on one domain。
在根ProxyPass指令之前,只需添加ProxyPass排除和目录别名。注意:重复每个要显示的Apache子目录。
ProxyPass /MySubDirectory !
Alias /MySubDirectory /var/www/html/MySubDirectory