我有一个Spring Boot应用程序,它部署到一个外部Tomcat容器(不使用嵌入式容器),正在尝试设置执行器。问题是,Tomcat似乎不支持application.properties中的
management.port
。当我使用嵌入式Tomcat运行Spring Boot时,它工作得很好。
例如,在< code > application . properties 中设置以下内容:
管理.端口=9010
嵌入式容器的工作endpoint
http://localhost:9010/health
在端口 8080
上运行的外部容器的非工作终结点
http://localhost:9010/health
http://localhost:8080/health
http://localhost:9010/
在 Tomcat 容器中是否需要特殊配置来公开 Spring 启动执行器endpoint?
我尝试设置一个环境变量MANAGEMENT_PORT
。大多数(几乎所有)可用的留档都使用嵌入式Tomcat,因此跟踪这个问题被证明是具有挑战性的。
关于这个答案的第三条评论提供了一些可能的见解:https://stackoverflow.com/a/28689853/2601060,它指向一个GitHub文件,指示如果未设置管理端口,它将与服务器端口相同。
我们不能用外部Tomcat容器指定额外的端口。原因如下:https://github.com/spring-projects/spring-boot/issues/552
唯一的方法是使用上下文路径扩展endpoint,比如“/management”,并对其应用安全性。
是的,如果您的 application.properties 有名为“management.port: 9001”和“server.port:9000”的属性。然后您的应用程序endpoint将部署在端口9000上,执行器endpoint将部署在端口9001上。
所以这取决于我们。我们可以提到同一个端口的两个属性,应用程序将正常工作。
我在当地也有同样的问题,
:)希望有一天能帮到某个人..