0

我正在使用带有 Actuator 的 Spring boot/cloud,并使用 @EnableEurekaClient 注释 Application 类,应用程序出现并正确注册到 Eureka 服务器。

但是,因为我将我的应用程序配置为在 https 和端口 8444 上运行,所以 Eureka 实例没有使用正确的协议注册,而是使用 http。

来自http://localhost:8761/eureka/apps/的示例给了我

<homePageUrl>http://localhost:8444/</homePageUrl>
<statusPageUrl>http://localhost:8444/info</statusPageUrl>
<healthCheckUrl>http://localhost:8444/health</healthCheckUrl>
4

1 回答 1

0

没有secureHomePageUrlsecureStatusPageUrl- 只有secureHealthCheckUrl存在。检查com.netflix.appinfo.EurekaInstanceConfigEureka 客户端注册时实际传输到服务器的属性。

但是,主页/状态/健康页面 url 不显示 HTTPS 协议并不意味着您的实例未正确注册。重要的是是否启用了安全端口。检查客户端配置中的以下属性:

eureka.instance.securePort: 443
eureka.instance.securePortEnabled: true

http://eureka:8761/eureka/apps获得的注册表信息应该反映这些值。

你应该记住homePageUrlandstatusPageUrl不被 Eureka 或 Ribbon 使用。它们显然仅用于提供信息。但是,某些负载平衡规则或其他健康报告系统可能会使用healthCheckUrl和。secureHealthCheckUrl这可能就是为什么存在该属性的“安全”版本但不存在其他属性的原因......

于 2015-06-04T19:31:18.890 回答