我们有以下弹簧设置: 我们的应用程序在端口80上运行,但是我们的managment.server.port设置为8081。并且我们已经从此安全端口使用了多个管理端点检查。
server.port=80
management.server.port=8081
management.endpoints.web.exposure.include=*
使用此设置,我们可以从端口80的公共界面中隐藏所有敏感信息。
但是现在我们的要求发生了变化:我们需要在公共界面上显示应用程序的版本。此信息是/ actuator / info
上我们管理服务器的信息端点的一部分是否可以仅将信息端点移动到端口80,并将所有其他management.server端点仍保留在8081上?
或者是否有其他合适的解决方案可以满足我们的要求,即仅打开外部呼叫的信息端点。
我们宁愿不更改任何防火墙设置:因此一个端口是公共的,而另一个仅是内部的
答案 0 :(得分:1)
不,您不能仅将一个端点移动到另一个端口。 在这种情况下,这是关于执行器作为在一个特定端口(8081)上运行的应用程序的,并公开了一堆服务,因此从这个角度来看,它是全有还是全无。
因此,您必须创建一个特殊的rest控制器,该控制器将像info端点一样读取文件(或保留内存)中的数据。
实际上,它是一个相当简单的代码,它无论如何都会读取spring boot工件中可用的文件,并公开其内容。
您可以签出执行器here的信息端点的源代码