如何使用 Tomcat 允许多个 IP 地址?
How to allow multiple IP address with Tomcat?
我试图阻止 Tomcat 内的所有流量,除了两个 ip。
我发现我可以在 server.xml 文件中做到这一点,所以我有这个:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.2" />
</Host>
这是可行的,但现在我希望允许两个 ip,所以我尝试了以下两个我在互联网上找到的选项:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.2,192.168.1.22" />
和
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192\.168\.1\.|192\.168\.1\.22" />
但是两者都不起作用,我在这里做错了什么?
我在 Red Hat 上使用 Tomcat 版本 8.5.46.0。
尝试以下方法,它应该有效
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.2|192.168.1.22" deny=""/>
从 Tomcat 7 开始,IP 不应以逗号分隔,而应使用竖线 |并且没有反斜杠。
我试图阻止 Tomcat 内的所有流量,除了两个 ip。 我发现我可以在 server.xml 文件中做到这一点,所以我有这个:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.2" />
</Host>
这是可行的,但现在我希望允许两个 ip,所以我尝试了以下两个我在互联网上找到的选项:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.2,192.168.1.22" />
和
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192\.168\.1\.|192\.168\.1\.22" />
但是两者都不起作用,我在这里做错了什么?
我在 Red Hat 上使用 Tomcat 版本 8.5.46.0。
尝试以下方法,它应该有效
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.2|192.168.1.22" deny=""/>
从 Tomcat 7 开始,IP 不应以逗号分隔,而应使用竖线 |并且没有反斜杠。