2015-06-04 2 views
0

Я использую Spring boot/cloud с Actuator, и я аннотирую класс Application с @EnableEurekaClient, приложения появляются и правильно регистрируются на сервере Eureka.Как настроить экземпляр SpringCloud Eureka для указания на https на нестандартном порту

Однако, поскольку я настраиваю приложение на работу на 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> 
+0

Использовать набор 'eureka.instance.securePortEnabled = true'? – spencergibb

+0

Я прочитал код NetFlix, где экземпляр Eureka жестко закодирован как http, если явный абсолютный Url не установлен как eureka.instance.status-page-url установлен – blindstack

ответ

0

Там нет такого понятия, как secureHomePageUrl или secureStatusPageUrl - только secureHealthCheckUrl существует. Проверьте com.netflix.appinfo.EurekaInstanceConfig на свойства, которые фактически передаются на сервер при регистрации клиента Eureka.

Однако, если URL-адрес страницы home/status/health не отображается, протокол HTTPS не означает, что ваш экземпляр не зарегистрирован должным образом. Важно то, включен ли защищенный порт. Проверьте следующие свойства в конфигурации клиента:

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

Информация реестра, полученная из http://eureka:8761/eureka/apps должна отражать эти ценности.

Вы должны помнить, что homePageUrl и statusPageUrl не используются ни Eureka, ни лентой. По-видимому, они предоставляются только для информационным назначением. Однако healthCheckUrl и secureHealthCheckUrl могут использоваться некоторыми правилами балансировки нагрузки или другими системами отчетности о состоянии здоровья. Вероятно, поэтому существует «безопасная» версия этого свойства, но не для другого ...