Настроить несколько реестров JHipster eureka: сбой пульса с включенным TLS - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь настроить два экземпляра реестра jhipster, который связывается и синхронизируется.Два экземпляра реестра jhispter расположены на двух виртуальных машинах.Оба реестра запускаются из docker-compose, и они должны взаимодействовать по HTTPS.

Пример одного docker-compose:

https://pastebin.com/LsRLFeGy

version: '2'
services:
    jhipster-registry:
        image: jhipster/jhipster-registry:v3.1.0
        volumes:
            - ./central-server-config//:/central-config
            - ./certificates/:/certificates/
        environment:
            - SPRING_PROFILES_ACTIVE=dev,native
            - SECURITY_USER_PASSWORD=admin
            - JHIPSTER_REGISTRY_PASSWORD=admin
            - JHIPSTER_LOGGING_LOGSTASH_ENABLED=true
            - JHIPSTER_LOGGING_LOGSTASH_HOST=jhipster-logstash
            - JHIPSTER_METRICS_LOGS_ENABLED=true
            - JHIPSTER_METRICS_LOGS_REPORTFREQUENCY=60
            - SECURITY_REQUIRE_SSL=true
            - SERVER_SSL_KEY_STORE=/certificates/vm1hostname.p12
            - SERVER_SSL_KEY_STORE_PASSWORD=project
            - SERVER_SSL_KEYSTORETYPE=PKCS12
            - SERVER_SSL_KEYALIAS=project-registry
            - JAVA_OPTS=-Djavax.net.ssl.trustStorePassword=project -Djavax.net.ssl.trustStore=/certificates/vm1hostname.p12 -Djavax.net.ssl.trustStoreType=PKCS12
            - eureka.client.serviceUrl.defaultZone=https://admin:admin@vm2hostname:8761/eureka/
            - eureka.client.fetch-registry=true
            - eureka.client.register-with-eureka=true
            - eureka.instance.hostname=vm1hostname
            - spring.profiles=vm1hostname
        ports:
            - 8761:8761
        restart: always
networks:
  default:
    external:
      name: artifacts_docker-project-network

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

Журналы:

2018-10-25 09: 58: 34.651 WARN 1 --- [tbeatExecutor-0] cndstdRetryableEurekaHttpClient: Ошибка выполнения запроса с сообщением: javax.net.ssl.SSLHandshake
Исключение: sun.security.validator.ValidatorException: сбой построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели 2018-10-25 09: 58: 34.651 ОШИБКА 1 --- [tbeatExecutor-0] com.netflix.discovery.DiscoveryClient: DiscoveryClient_JHIPSTER-REGISTRY / jhipsterRegistry: a4d74d2fb493eb
066d65734ddaaa7a03 - не удалось отправитьheartbeat!

com.netflix.discovery.shared.transport.TransportException: Невозможно выполнить запрос на любом известном сервере в com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute (RetryableEurekaHttpClient.j):в com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat (EurekaHttpClientDecorator.java:89) в com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecortnetflix.discovery.shared.transport.decorator.DiscoveryClient.renew (DiscoveryClient.java:815) на com.netflix.discovery.DiscoveryClient $ HeartbeatThread.run (DiscoveryClient.java:1379) на java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511) на j.util.concurrent.FutureTask.run (FutureTask.java:266) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) в java.util.concurrent.ThreadPoolExecutor $ Worker.run17 (java) в java.lang.Thread.run (Thread.java:748)

Может кто-нибудь помочь мне решить эту проблему?Я могу пройти здесь больше журналов.

Спасибо!

...