有没有人知道Tomcat是否可以通过IP地址限制对某些应用程序的访问(如Apache的.htaccess
)?
答案 0 :(得分:26)
您向Valve
中的Context
添加了context.xml
(具体而言,org.apache.catalina.valves.RemoteAddrValve
)。请参阅Remote Host Filters上的文档。
答案 1 :(得分:23)
这是一个例子:
in \ apache-tomcat-7.0.33 \ conf \ server.xml:
<Engine name="Catalina" defaultHost="localhost">
...
...
...
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="10\.132\.77\.55|10\.132\.76\.120|10\.132\.77\.47"/>
...
</Engine>
答案 2 :(得分:4)
在Tomcat 7中,您可以在web.xml
中对其进行配置。
如果它适用于所有网络应用,您可以在tomcat7/conf/web.xml
中进行配置,如果仅适用于一个网络应用,则可以在tomcat7/webapps/$(WEB_APP)/WEB-INF/web.xml
中进行配置,这非常方便。
配置使用RemoteAddrFilter
过滤器,Container Provided Filters中有一个示例。
答案 3 :(得分:2)
要为您的网络应用程序设置特定IP地址的访问限制,请将以下字符串添加到 / opt / tomcat / webapps / {web-application name} / META-INF / context。 xml 文件:
<Context antiJARLocking="true" path="/">
<Valve className="org.apache.catalina.valves.RemoteIpValve" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="{IP_address}" />
</Context>
这是通过Jelastic面板的instruction how to do this。请务必重新启动Tomcat以使更改生效。
答案 4 :(得分:0)
在Tomcat 9中,您可以在以下路径中进行配置:apache-tomcat-9.0.14\webapps\manager\META-INF\context.xml