2016-11-24 3 views
0

SSL мне нужно использовать свой микро-сервис с HTTPS, так что я изменить конфигурацию Эврика так:служба не хочет регистрироваться на Eureka с

info: 
    component: Eureka 
server: 
    port: 8761 
    ssl: 
     enabled: true 
     ciphers: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA 
     key-store: target/classes/keystore/keystore.jks 
     key-store-password: ..... 
     key-alias: ..... 
     key-password: ..... 
     protocol: TLS 
eureka: 
    instance: 
     hostname: localhost 
     securePort: ${server.port} 
     nonSecurePortEnabled: false 
     securePortEnabled: true 
     secureVirtualHostName: ${spring.application.name} 
     homePageUrl: https://${eureka.instance.hostname}:${server.port}/ 
     statusPageUrl: https://${eureka.instance.hostname}:${server.port}/admin/info 
     metadataMap: 
      hostname : ${eureka.instance.hostname} 
      securePort: ${server.port} 
    client: 
     registerWithEureka: false 
     fetchRegistry: false 
     healthcheck: 
      enable: true 
     serviceUrl: 
      defaultZone: https://${eureka.instance.hostname}:${server.port}/eureka/ 
    server: 
     waitTimeInMsWhenSyncEmpty: 0 
     enableSelfPreservation: true 

Это запуститься без проблем, и я могу пойти на Веб-сайт.

Мой микросервис (configServer) работает на https, но не регистрируется на Eureka. У меня нет сообщения об ошибке. Файл конфигурации:

info: 
    component: Config Server 
server: 
    port: 8889 
    ssl: 
     enabled: true 
     ciphers: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA 
     key-store: target/classes/keystore/keystore.jks 
     key-store-password: ..... 
     key-alias: ..... 
     key-password: .... 
     protocol: TLS 
spring: 
    cloud: 
     config: 
      server: 
       git: 
        uri: ....... 
eureka: 
    client: 
     registerWithEureka: true 
     fetchRegistry: true 
     registryFetchIntervalSeconds: 5 
     securePortEnabled: true 
     serviceUrl: 
      defaultZone: https://127.0.0.1:8761/eureka/ 
     healthcheck: 
      enabled: true 
    instance: 
     statusPageUrlPath: https://${management.context_path}/info 
     healthCheckUrlPath: https://${management.context_path}/health 
     leaseRenewalIntervalInSeconds: 10 
     securePort: ${server.port} 
     securePortEnabled: true 
     nonSecurePortEnabled: false 

журнала я получаю в режиме отладки:

2016-11-29 10:47:35.324 DEBUG 12032 --- [freshExecutor-0] .a.h.i.c.DefaultClientConnectionOperator : Connecting to localhost:8761 
2016-11-29 10:47:35.328 DEBUG 12032 --- [freshExecutor-0] o.a.h.impl.conn.DefaultClientConnection : Connection [email protected] closed 
2016-11-29 10:47:35.328 DEBUG 12032 --- [freshExecutor-0] o.a.h.impl.conn.DefaultClientConnection : Connection [email protected] shut down 
2016-11-29 10:47:35.328 DEBUG 12032 --- [freshExecutor-0] o.a.h.impl.conn.DefaultClientConnection : Connection [email protected] closed 

Без протокола HTTPS, у меня нет проблем. У вас есть представление о том, что не так?

+0

Там нет сообщений об ошибке? Включили ли вы ведение журнала отладки на клиенте? – spencergibb

+0

Да. У меня был журнал в главном сообщении – BokC

ответ

0

ваш клиент должен быть активирован с

eureka: 
    client: 
     enabled: true 

который отсутствует в конфигурации конфигурации серверов.

+0

Этого недостаточно. Если я не в ssl, у меня нет проблемы – BokC

0

У меня была аналогичная проблема: конфигурационный сервер правильно зарегистрирован через http, но не более https (сервис указан на Eureka, но ни один хост, ни порт не отображаются).

Использование весенне-облачных зависимостей Edgware.RELEASE с spring-cloud-commons bumped to 1.3.1.RELEASE и самозаверяющий сертификат (добавленный к моим JREs cacerts).

Вот конфиг я использую, который работает как через HTTP (без установленного профиля) и HTTPS (HTTPS профиль)

сервис-открытие application.properties

spring.application.name=service-discovery 
server.port=8161 
server.ssl.enabled=false 

eureka.instance.hostname=${DISCOVERY_HOSTNAME} 
eureka.instance.non-secure-port-enabled=true 
eureka.instance.non-secure-port=${server.port} 
eureka.instance.secure-port-enabled=false 

eureka.client.serviceUrl.defaultZone=${DISCOVERY_SERVICE} 
eureka.client.register-with-eureka=false 
eureka.client.fetch-registry=true 

logging.level.com.netflix.eureka=OFF 
logging.level.com.netflix.discovery=OFF 

сервис обнаружения приложений -https.properties

server.ssl.enabled=true 

eureka.instance.non-secure-port-enabled=false 
eureka.instance.secure-port-enabled=true 
eureka.instance.secure-port=${server.port} 
eureka.instance.statusPageUrl=https://${eureka.hostname}:${server.port}/info 
eureka.instance.healthCheckUrl=https://${eureka.hostname}:${server.port}/health 
eureka.instance.homePageUrl=https://${eureka.hostname}:${server.port}/ 

ribbon.IsSecure=true 

конфигурации bootstrap.properties

eureka.client.serviceUrl.defaultZone=${DISCOVERY_SERVICE} 

конфигурации application.properties

spring.application.name=config 
server.port=8181 
server.ssl.enabled=false 

security.user.name=${SPRING_CLOUD_CONFIG_USERNAME} 
security.user.password=${SPRING_CLOUD_CONFIG_PASSWORD} 
security.user.role=SYSTEM 

eureka.instance.non-secure-port-enabled=true 
eureka.instance.non-secure-port=${DISCOVERY_PORT} 
eureka.instance.secure-port-enabled=false 

eureka.client.healthcheck.enabled=true 
eureka.client.region=default 
eureka.client.registry-fetch-interval-seconds=10 

ribbon.IsSecure=true 

конфигурации application-https.properties

server.ssl.enabled=true 

eureka.instance.non-secure-port-enabled=false 
eureka.instance.secure-port-enabled=true 
eureka.instance.secure-port=${server.port} 
eureka.instance.statusPageUrl=https://${eureka.hostname}:${server.port}/info 
eureka.instance.healthCheckUrl=https://${eureka.hostname}:${server.port}/health 
eureka.instance.homePageUrl=https://${eureka.hostname}:${server.port}/ 

ribbon.IsSecure=true 

и вот переменные окружения, которые я использую:

setx DISCOVERY_USERNAME "discoveryUser" 
setx DISCOVERY_PASSWORD "change-me" 
setx DISCOVERY_HOSTNAME "localhost" 
setx DISCOVERY_PORT "8167" 
setx DISCOVERY_SERVICE "http://${DISCOVERY_USERNAME}:${DISCOVERY_PASSWORD}@${DISCOVERY_HOSTNAME}:${DISCOVERY_PORT}/eureka/" 

setx SPRING_CLOUD_CONFIG_SERVER_GIT_URI "C:/change-me/spring-rest-oauth-config" 
setx SPRING_CLOUD_CONFIG_USERNAME "configUser" 
setx SPRING_CLOUD_CONFIG_PASSWORD "change-me" 
setx SPRING_CLOUD_CONFIG_DISCOVERY_SERVICE-ID "config" 

rem something like "c:/users/ch4mp/.ssl/localhost-self-signed.p12" 
setx SSL_KEY_STORE_PATH "change-me" 

setx SERVER_SSL_KEY_STORE file:%SSL_KEY_STORE_PATH% 
setx SERVER_SSL_KEY_STORE_PASSWORD "change-me" 
setx SERVER_SSL_KEY_ALIAS "spring-rest-oauth" 
setx SERVER_SSL_KEY_STORE_TYPE PKCS12 

Обратите внимание, что DISCOVERY_SERVICE схемы должна быть изменена, чтобы https при использовании протокола HTTPS профиля

+0

Это не дает ответа на вопрос.Когда у вас будет достаточно [репутации] (https://stackoverflow.com/help/whats-reputation), вы сможете [прокомментировать любое сообщение] (https://stackoverflow.com/help/privileges/comment); вместо этого [предоставить ответы, которые не требуют разъяснений у аськи) (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- я-делать-вместо этого). - [Из обзора] (/ review/low-quality-posts/18529471) –

+0

Это не отвечает на вопрос. Если у вас есть другой вопрос, вы можете задать его, нажав [Ask Question] (https://stackoverflow.com/questions/ask). Вы также можете [добавить щедрость] (https://stackoverflow.com/help/privileges/set-bounties), чтобы привлечь больше внимания к этому вопросу, как только у вас будет достаточно [репутации] (https://stackoverflow.com/help/ Что-репутация). - [Из обзора] (/ review/low-quality-posts/18529471) – EvZ

+0

Исходный комментарий не был ответом, это был просто комментарий. Поскольку у меня был тот же вопрос, я не опубликовал новый. Просто надеялся, что эта нить вернется в кучу. Теперь я нашел решение, я его отредактировал – ch4mp

Смежные вопросы