为什么 management.server.port 不起作用?

Why does management.server.port not work?

我有一个 Spring 使用执行器的引导应用程序,在 application.properties 我定义了:

server.port=9090
management.server.port=10080

AFAIK management.server.port 是将执行器端点暴露在不同于应用程序暴露端口的另一个端口上。我希望两者都可以工作:

http://localhost:9090/abc
http://localhost:10080/actuator

但只有 http://localhost:9090/actuator 有效,并且只有在 management.server.port 被注释掉时才有效。

http://localhost:10080/actuator 导致浏览器中出现空白页面。 http://localhost:9090/actuator 导致带有 浏览器中出现意外错误(类型=未找到,状态=404)的白色标签错误页面。

如何实现同时设置server.port和管理server.port,同时返回内容?

尝试默认健康端点:http://localhost:10080/actuator/health

端口“10080”出于安全原因被您的浏览器阻止(防止 NAT 滑流漏洞),请使用另一个端口,例如“9091”

这是配置新端口的正确方法。它可以工作,但您可能只通过 HTTP 检查,并且由于 @Dirk Deyne 提到的原因,它在那里不工作。

但是您可以将 10080 端口用于执行器,但您必须通过 JMX 访问它。用例如测试它JConsole,您会发现它正在运行。这就是您没有收到任何错误消息的原因。