弹簧执行器上的不同端口

问题描述 投票:0回答:1

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

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

使用此设置,我们可以从端口80的公共界面隐藏任何敏感信息。

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

是否可以仅将信息端点移动到端口80,并使所有其他management.server端点仍位于8081上?

或者是否有其他合适的解决方案可满足我们仅打开外部呼叫的信息端点的要求。

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

java spring spring-boot-actuator
1个回答
1
投票

不,您不能仅将一个端点移动到其他端口。这是关于执行器作为在一个特定端口(8081)上运行的应用程序的情况,它公开了许多服务,因此从这个角度来看,它是全有还是全无。

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

实际上,它是一个相当简单的代码,无论如何它都会读取spring boot构件中可用的文件并公开其内容。

您可以签出执行器here的信息端点的源代码

© www.soinside.com 2019 - 2024. All rights reserved.