在我的服务器上,我有两个 tomcat 应用程序:'隐' 和 '打开'。 这隐应用程序只能在本地网络使用192.168.0.0。 这打开应用程序应该适用于所有网络。
应用程序在 Tomcat 7.0.6 上运行,请求通过 mod_proxy_ajp 从 Apache 2.2.17 转发。所有这些都在 FreeBSD 8.2 服务器上运行。
Apache Web 服务器还负责处理静态的根网站。没有配置虚拟主机(只有一个主机)。
到目前为止我还没有找到任何示例配置,因此我只是尝试结合两个简单的配置:
ProxyRequests Off
ProxyPreserveHost On
<Proxy /hidden>
Order Deny,Allow
Deny from all
Allow from 192.168
</Proxy>
<Proxy /open>
Order Deny,Allow
Allow from all
</Proxy>
ProxyPass /hidden ajp://localhost:8009/hidden/
ProxyPassReverse /hidden ajp://localhost:8009/hidden/
ProxyPass /open ajp://localhost:8009/open/
ProxyPassReverse /open ajp://localhost:8009/open/
通过此配置,两个应用程序都可从所有网络访问。我已经尝试过允许/拒绝设置。这个对我来说似乎是最合乎逻辑的。
有人知道我的配置有什么问题吗?
奥利
答案1
该<Proxy>
指令采用完整的 URL - 由于您的虚拟主机可能有多个 URL,因此该指令更适合您将其用作完整代理。
尝试将您的指令更改为<Location>
块,以便按照您想要的方式应用权限:
<Location /hidden>
Order Deny,Allow
Deny from all
Allow from 192.168
</Proxy>
<Location /open>
Order Deny,Allow
Allow from all
</Proxy>