Spring cloud 如何配置SpringCloud Eureka实例在非标准端口上指向https
我使用带执行器的Spring boot/cloud,我用@EnableEurekClient注释应用程序类,应用程序启动并正确注册到Eureka服务器 但是,由于我将应用程序配置为在https和端口8444上运行, Eureka实例未使用正确的协议注册,而是使用http 我举了一个例子Spring cloud 如何配置SpringCloud Eureka实例在非标准端口上指向https,spring-cloud,netflix-eureka,Spring Cloud,Netflix Eureka,我使用带执行器的Spring boot/cloud,我用@EnableEurekClient注释应用程序类,应用程序启动并正确注册到Eureka服务器 但是,由于我将应用程序配置为在https和端口8444上运行, Eureka实例未使用正确的协议注册,而是使用http 我举了一个例子 http://localhost:8444/ http://localhost:8444/info http://localhost:8444/health 没有secureHomePageUrl或secureS
http://localhost:8444/
http://localhost:8444/info
http://localhost:8444/health
没有secureHomePageUrl
或secureStatusPageUrl
这样的东西-只有secureHealthCheckUrl
存在。查看com.netflix.appinfo.EurekaInstanceConfig
,了解在Eureka客户端注册时实际传输到服务器的属性
但是,主页/状态/健康页面URL不显示HTTPS协议并不意味着您的实例没有正确注册。重要的是是否启用了安全端口。在客户端配置中检查以下属性:
eureka.instance.securePort: 443
eureka.instance.securePortEnabled: true
从中获得的注册表信息应反映这些值
您应该记住,Eureka或Ribbon都不使用homePageUrl
和statusPageUrl
。它们显然只是为了提供信息而提供的。但是,一些负载平衡规则或其他健康报告系统可能会使用healthCheckUrl
和secureHealthCheckUrl
。这可能就是为什么存在该属性的“安全”版本,但不适用于其他…是否使用seteureka.instance.securePortEnabled=true
?我阅读了NetFlix代码,其中eureka实例硬编码为http,除非显式绝对Url设置为eureka.instance.status-page-Url
eureka.instance.securePort: 443
eureka.instance.securePortEnabled: true