Я пытаюсь настроить два экземпляра реестра 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)
Может кто-нибудь помочь мне решить эту проблему?Я могу пройти здесь больше журналов.
Спасибо!