禁止通过Tomcat直接访问应用程序

时间:2015-06-16 11:27:20

标签: apache tomcat

我在Tomcat上运行了一个小的本地(内部到组织)浏览器应用程序。我继承了在PHP服务器下运行的应用程序(也仅供内部组织使用),我被要求在同一个盒子上运行。我认为最好的办法是让Tomcat和PHP在Apache Web Server下运行。最初我认为这是必不可少的,尽管我现在只要我让他们用不同的端口运行这是不必要的(?)。

我使用proxy_http_module让我的Tomcat应用程序通过Apache运行。我想知道是否有一种简单的方法可以通过tomcat停止直接访问应用程序?

因此,例如在Tomcat中,应用程序设置为

运行

http://localserver:1234/superapp

使用虚拟主机配置apache允许以

进行访问

http://localserver/superapp

大概这意味着如果我现在进入http://localserver:1234/superapp我绕过apache web服务器?假设(粗体假设)我没有误解机制,是否有一种简单的方法可以通过tomcat(http://localserver:1234/superapp)直接停止访问。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以考虑使用proxy_ajp而不是proxy_http。但您也可以使用RemoteAddrValve根据IP地址定义限制:

<Engine name="Catalina" defaultHost="localhost">
    ...
    ...
    ...
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
        allow="127\.0\.0\.1"/>
    ...
</Engine>