我在给定计算机上运行多个 Web 服务器(Apache、Tomcat、自定义 Python 服务器)。我让 Apache 监听端口 80,这是标准设置。为了通过此端口访问我的其他服务器之一,我在 Apache 中设置了一个 ProxyPass,如下所示:
ProxyPass / http://[mydomainname]:8880/
ProxyPassReverse / http://[mydomainname]:8880/
它有效。当您浏览到没有端口规范(因为隐含 80)的域名时,您不会到达 Apache 根目录,而是透明地重定向到机器上另一台服务器(Twisted 服务器)的根目录,该服务器在端口 8880 上监听。/p>
问题就在这里。看来我现在已经阻止了任何东西到达我的 Apache 文件。有没有办法覆盖各个子目录的根代理传递?例如,如果您浏览到 mydomain/test,我可以让它像我根本没有代理通行证一样工作,而不是将其路由到端口 8880 服务器上的路径吗?
最佳答案
我在SO线程上找到了答案:ProxyPass and DocumentRoot on one domain 。
在根 ProxyPass 指令之前,只需添加 ProxyPass 排除和目录别名。注意:对要公开的每个 Apache 子目录重复此操作。
ProxyPass /MySubDirectory !
Alias /MySubDirectory /var/www/html/MySubDirectory
关于apache - 如何将 Apache ProxyPass 设置到覆盖父 ProxyPass 的子目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33109463/