spring 执行器上的不同端口
Different ports on spring actuator
我们有以下 spring 设置:
我们的应用程序 运行 在端口 80 上,但我们的 managment.server.port 设置为 8081。我们已经从这个安全端口对管理端点进行了多次检查。
server.port=80
management.server.port=8081
management.endpoints.web.exposure.include=*
通过此设置,我们可以从端口 80 上的 public 界面隐藏任何敏感信息。
但是现在我们的需求变了:我们需要在public界面上显示我们应用程序的版本。此信息是 /actuator/info
上我们管理服务器的信息端点的一部分
是否可以仅将信息端点移动到端口 80,并让所有其他 management.server 端点仍在 8081 上?
或者是否有其他合适的解决方案满足我们只打开信息端点供外部调用的要求。
我们不希望更改任何防火墙设置:所以一个端口是 public,另一个仅供内部使用
不,您不能只将一个端点移动到不同的端口。
在这种情况下,执行器是在一个特定端口 (8081) 上运行并公开一堆服务的应用程序,因此从这个角度来看,它是全有或全无。
所以你必须创建一个特殊的休息控制器来读取文件(或保留内存)数据,就像信息端点一样。
它实际上是一个非常简单的代码,它无论如何都会读取 spring 引导工件中可用的文件并公开其内容。
您可以查看执行器信息端点的源代码here
我们有以下 spring 设置: 我们的应用程序 运行 在端口 80 上,但我们的 managment.server.port 设置为 8081。我们已经从这个安全端口对管理端点进行了多次检查。
server.port=80
management.server.port=8081
management.endpoints.web.exposure.include=*
通过此设置,我们可以从端口 80 上的 public 界面隐藏任何敏感信息。
但是现在我们的需求变了:我们需要在public界面上显示我们应用程序的版本。此信息是 /actuator/info
上我们管理服务器的信息端点的一部分是否可以仅将信息端点移动到端口 80,并让所有其他 management.server 端点仍在 8081 上?
或者是否有其他合适的解决方案满足我们只打开信息端点供外部调用的要求。
我们不希望更改任何防火墙设置:所以一个端口是 public,另一个仅供内部使用
不,您不能只将一个端点移动到不同的端口。 在这种情况下,执行器是在一个特定端口 (8081) 上运行并公开一堆服务的应用程序,因此从这个角度来看,它是全有或全无。
所以你必须创建一个特殊的休息控制器来读取文件(或保留内存)数据,就像信息端点一样。
它实际上是一个非常简单的代码,它无论如何都会读取 spring 引导工件中可用的文件并公开其内容。
您可以查看执行器信息端点的源代码here