【发布时间】:2018-03-21 14:21:36
【问题描述】:
我们正在使用spring boot actuator来获取应用程序的健康状态,我的理解是健康检查请求将由用于服务实际服务请求的线程池中的线程处理。
有没有办法限制健康端点的请求数量以防止 DDOS 类型饥饿。
【问题讨论】:
标签: spring spring-boot spring-boot-actuator
我们正在使用spring boot actuator来获取应用程序的健康状态,我的理解是健康检查请求将由用于服务实际服务请求的线程池中的线程处理。
有没有办法限制健康端点的请求数量以防止 DDOS 类型饥饿。
【问题讨论】:
标签: spring spring-boot spring-boot-actuator
您可以使用 Spring Boot Throttling 社区库。我认为您可以使用它的配置来限制对端点(执行器或其他)的 DDOS 访问。 https://github.com/weddini/spring-boot-throttling
【讨论】:
另一种减少 /health 端点上 DDOS 漏洞的可能性是让您的健康检查在单独的线程池上运行。
这可确保:
/health 端点会立即返回(因为它会返回在不同线程上预先计算的运行状况)。为此,如果您使用 Spring Boot >= 2.2,您可以使用单独的库 spring-boot-async-health-indicator 在单独的线程池上运行健康检查,只需使用 @AsyncHealth 进行注释即可。
免责声明:我创建了这个库来解决这个问题(以及其他问题)
【讨论】: