有人知道Tomcat是否可以通过IP地址限制对某些应用程序的访问(就像Apache的.htaccess
)吗?
您可以在context.xml
中添加一个Valve
(具体地说是org.apache.catalina.valves.RemoteAddrValve
)到Context
中。请参阅关于远程主机过滤器的文档。
<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>
web.xml
中进行配置。tomcat7/conf/web.xml
中进行配置;如果只是针对一个Web应用程序的配置,则可以在tomcat7/webapps/$(WEB_APP)/WEB-INF/web.xml
中进行配置,非常方便。RemoteAddrFilter
过滤器,在容器提供的过滤器中有一个示例。如果您想对特定的IP地址限制您的Web应用程序的访问权限,请在/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 面板进行操作的指南。请确保重启 Tomcat 以使更改生效。
apache-tomcat-9.0.14\webapps\manager\META-INF\context.xml
中进行配置。