【问题标题】:Different ports on spring actuator弹簧执行器上的不同端口
【发布时间】:2020-03-19 20:51:25
【问题描述】:

我们有以下弹簧设置: 我们的应用程序在端口 80 上运行,但我们的 managment.server.port 设置为 8081。我们已经从这个安全端口对管理端点进行了多次检查。

server.port=80
management.server.port=8081
management.endpoints.web.exposure.include=*

通过此设置,我们可以隐藏端口 80 上公共接口的任何敏感信息。

但现在我们的要求发生了变化:我们需要在公共界面上显示应用程序的版本。此信息是我们在 /actuator/info 上的管理服务器的 info-endpoint 的一部分

是否可以仅将 info 端点移动到端口 80,而让所有其他 management.server 端点仍在 8081 上?

或者是否有其他合适的解决方案可以满足我们只为外部调用打开信息端点的要求。

我们不希望更改任何防火墙设置:因此一个端口是公共的,另一个是内部的

【问题讨论】:

    标签: java spring spring-boot-actuator


    【解决方案1】:

    不,您不能只将一个端点移动到不同的端口。 这是关于执行器作为在这种情况下在一个特定端口(8081)上运行并公开一堆服务的应用程序,因此从这个角度来看它是全有或全无。

    因此,您必须创建一个特殊的 rest 控制器来读取文件(或保留内存)数据,就像 info 端点一样。

    它实际上是一个非常简单的代码,它无论如何都会读取 Spring Boot 工件中可用的文件并公开其内容。

    您可以查看执行器here的info端点的源代码

    【讨论】:

      猜你喜欢
      • 2018-01-07
      • 2018-02-14
      • 2017-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-08
      • 1970-01-01
      • 2017-07-29
      相关资源
      最近更新 更多