【问题标题】:How to hook shutdown endpoint , Spring Boot如何挂钩关闭端点,Spring Boot
【发布时间】:2016-04-05 05:17:42
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 你在使用 Spring 和嵌入式 tomcat 服务器吗?

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


【解决方案1】:

几个可能的解决方案:

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

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

我认为第一个可能是最安全和最简单的解决方案。

【讨论】:

    猜你喜欢
    • 2014-12-27
    • 2018-09-03
    • 2019-03-23
    • 2011-07-20
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    相关资源
    最近更新 更多