如何挂钩关闭端点,Spring Boot

时间:2016-04-05 05:17:42

标签: java spring spring-boot spring-boot-actuator

我读了How to shutdown a Spring Boot Application in a correct way?,所以我尝试使用http shutdown endpoints关闭我的spring boot嵌入式tomcat应用程序。

但是我只需要localhost访问它,这样就没有其他人会关闭我的应用程序。

我发现我可以使用management.address=127.0.0.1不允许远程管理连接。

但是,如果我需要某些端点,例如/health/info仍然可以远程访问,该怎么办?

有没有办法 ONLY 挂钩关闭端点,以便我可以检查请求者ip?

1 个答案:

答案 0 :(得分:0)

一些可能的解决方案:

  1. 阻止来自非本地主机访问的所有执行器,并编写将重新公开请求的执行器的代理@Controller。当有人撞到端点时,它可以调用执行器本身,收集执行器的响应,然后将其返回。

  2. 公开所有执行器,并在关闭端点前放置一个servlet过滤器,阻止任何不是本地主机的客户端。

  3. 我认为第一种可能是最安全,最简单的解决方案。