java - Tomcat 远程地址过滤器不起作用 - Tomcat 9.0.X
问题描述
我正在尝试将我的一些应用程序端点限制为公共互联网。为此,我尝试了 tomcat 的远程地址过滤器。我将过滤器添加到我的应用程序的 web.xml(D:\apache-tomcat-9.0.22\webapps\myApp\WEB-INF)
中。但它根本没有效果。我尝试了<param-name>allow</param-name> <param-name>deny</param-name>
我的团队成员的特定 IP 地址,但仍然是我们都可以访问的。每次进行此更改时,我都重新启动了 tomcat。
<filter>
<filter-name>Remote Address Filter</filter-name>
<filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class>
<init-param>
<param-name>deny</param-name> <!-- Tried to block my team mate's IP -->
<param-value>10\.142\.16\.1</param-value> <!-- My team mates IP address -->
<!-- param-value>127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1</param-value -->
</init-param>
</filter>
<filter-mapping>
<filter-name>Remote Address Filter</filter-name>
<url-pattern>/myApp/context/* </url-pattern>
</filter-mapping>
我也尝试过在文档 <param-value>127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1</param-value>
中,但我的队友和我自己仍然可以毫无问题地访问这些页面。
我的环境详情>>
I've used a standalone Tomcat. Servlet engine: [Apache Tomcat/9.0.22]
Running with Spring Boot v2.1.3.RELEASE, Spring v5.1.5.RELEASE
问题可能出在哪里?有没有办法确定这些web.xml
变化是否真的反映了?
解决方案
我发现了问题。问题出在 url 模式上。我们不应该将应用程序上下文添加到 url 模式。
现在这适用于以下设置。
<url-pattern>/actuator/health </url-pattern>
推荐阅读
- c++ - TeamViewer 如何以编程方式在 Windows 上模拟 Ctrl-Alt-Del?
- javascript - React中的RBAC,如何实现,构想?
- debugging - 如何使用 WinDbg 从挂起的进程中调试小型转储
- reactjs - 限制导航以防止浏览器在 React App 中挂起
- react-native - 反应原生图像,动态需求
- javascript - 如何识别代码中的哪个 java/javascript 文件生成了特定的 cookie?
- sql - 为什么我的插入表格的代码带有错误警告
- android - 如何修复由于资格问题而被谷歌 Play 商店拒绝的 Android 应用程序?
- java - 创建一个包含 10 个整数元素的堆栈,然后添加一个具有函数的元素
- c# - 如何并行调用一些方法并从这些方法中获取信息?