我需要保护我的 Web 应用程序中的某个文件夹,以防止来自定义的 IP 范围之外的访问。
和O'Reilly 的 Tomcat 技巧我认为:
<Context path="/path/to/secret_files" ...>
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.0.0.1" deny=""/>
</Context>
是该走的路吗?
我对 tomcat 配置不太了解,所以对于应该把这些限制放在哪里有点困惑。我应该把它放在我的 web.xml 中吗?还是我需要把它添加到某个通用的 tomcat conf 文件中?
答案1
如果我们想限制 IP 地址而不考虑上下文路径,我们应该在 server.xml(引擎名称)中添加以下行
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1"/>
这将拒绝除 127.0.0.1 之外的所有 IP 地址
如果你想允许多个 IP 使用以下命令
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,10.10.12.13,10.132.12"/>
如果你只想拒绝一个 IP 并允许所有其他 IP,请使用以下命令
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="127.0.0.1"/>
对于多个 IP
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="127.0.0.1,10.10.12.13,10.132.12"/>
答案2
这个问题解决了我的问题。