当前位置: 首页 > 知识库问答 >
问题:

如何钩住关闭endpoint,Spring引导

尉迟鑫鹏
2023-03-14

我阅读了如何以正确的方式关闭一个Spring Boot应用程序?,所以我尝试使用http关闭endpoint来关闭我的Spring Boot嵌入式tomcat应用程序。

有没有办法只挂起关闭endpoint,这样我就可以检查请求者IP了?

共有1个答案

锺离飞飙
2023-03-14

有几种可能的解决方案:

>

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

    公开所有执行器,并在关闭endpoint前面放置一个servlet过滤器,以阻止任何不是localhost的客户端。

    我认为第一种可能是最安全、最容易的解决方案。

  •  类似资料:
    • 我如何注册/添加一个自定义的关闭例程,当我的Spring Boot应用程序关闭时,该例程将被触发? 场景:我将Spring Boot应用程序部署到一个Jetty servlet容器(即,没有嵌入式Jetty)。我的应用程序使用Logback进行日志记录,并且我希望在运行时使用Logback的MBean JMX配置器更改日志记录级别。它的文档说明,为了避免内存泄漏,在关机时必须调用特定的Logger

    • 我已经将ShutDownHook添加到我的Spring Boot应用程序中。当我将SIGTERM传递给我的应用程序时,shutdown钩子被触发,但它在中途终止,即在执行过程中终止。谷歌了它,尝试了很多解决方案,但都不起作用。一些专家,请帮我一下。 GracefulShutdownHook类: 我想让关机钩子更新一些缓存和一些逻辑,这会消耗一些额外的处理时间。 当我尝试使用“杀戮-15”杀戮时的日

    • 我第一次使用Spring Boot应用程序时,执行器是不安全的,所以很容易通过/acture/shutdownendpoint远程关闭。最近,我已经使用Spring安全保护了我的执行器,它已经起作用了。现在我需要提供http基本凭据来访问endpoint,但现在对/acture/shutdownendpoint的curl调用失败,出现禁止错误。我一定是配置不正确的地方。 我的卷曲命令: 我的配置:

    • 在我的项目中,我开始使用Spring靴执行器。我使用endpoint优雅地停止嵌入的Tomcat(这很好用),但是在关闭期间我还需要执行一些自定义逻辑。有没有办法,怎么做?

    • 我有一个Spring启动应用程序在负载均衡器后面的两台服务器上运行。 我定义了一个关闭钩子,它将应用程序中的/healthcheckendpoint设置为返回404错误,等待30秒以完成所有操作,然后停止JVM。负载平衡器被配置为在看到404错误时将服务器置于维护模式。(这与“停机”状态不同——允许在维护模式下完成飞行中的连接) 问题是负载平衡器从未看到这些404响应。相反,它会拒绝第4层TCP连

    • 问题内容: 我在程序中添加了以下代码: 但是,我没有看到该消息。附加信息:我正在Java 7的Netbeans IDE内部运行该程序。 编辑:我忘了补充说,有一个使程序保持活动状态的全局线程。我通过按Netbeans右下角的[x]来关闭它。 问题答案: JVM可以有序或突然关闭。关闭挂钩会运行以有序关闭:当最后一个线程终止时,有人呼叫或通过其他平台特定的方式(例如,按Ctrl-C)。 Shutdo