我们有以下弹簧设置:
我们的应用程序在端口 80 上运行,但我们的 managment.server.port 设置为 8081。并且我们已经使用此安全端口对管理端点进行多次检查。
server.port=80
management.server.port=8081
management.endpoints.web.exposure.include=*
通过此设置,我们可以隐藏端口 80 上公共接口的任何敏感信息。
但现在我们的需求发生了变化:我们需要在公共界面上显示应用程序的版本。此信息是 /actuator/info 上我们的管理服务器的信息端点的一部分
是否可以仅将 info 端点移至端口 80,并让所有其他 management.server 端点仍位于 8081 上?
或者是否有任何其他合适的解决方案来满足我们仅打开外部调用的信息端点的要求。
我们希望不更改任何防火墙设置:因此一个端口是公共的,另一个端口仅供内部使用
不,您不能仅将一个端点移动到不同的端口。
在本例中,执行器作为一个在一个特定端口 (8081) 上运行的应用程序,并公开一系列服务,因此从这个角度来看,它要么全有,要么全无。
因此,您必须创建一个特殊的其余控制器来读取文件(或保留内存)数据,就像信息端点一样。
实际上,它是一个非常简单的代码,它无论如何都会读取 Spring Boot 工件中可用的文件并公开其内容。
您可以查看执行器信息端点的源代码here https://github.com/spring-projects/spring-boot/tree/master/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/info
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)