У меня есть несколько сервисов при весенней загрузке, которые самостоятельно регистрируются на сервере eureka.
Эти сервисы отлично работают на http. Однако, когда я использую https, регистрация клиента завершается ошибкой из-за проверки SSL.
Как я могу добавить свой самоподписанный файл jks в DiscoveryClient, чтобы доверять сертификатам https?
Редактировать
Мой файл application.yml
spring:
application:
name: docker-prototype-user-profile
server:
port: 8301
eureka:
client:
registerWithEureka: true
fetchRegistry: true
serviceUrl:
defaultZone: https://localhost:8761/eureka/
instance:
hostname: localhost
Мой файл application.properties
server.ssl.key-store=classpath:keypair.jks
server.ssl.key-store-password=123456
server.ssl.key-password=123456
Здесь файл jks такой же, как и на сервере eureka. Я использую один и тот же ключ для https во всех службах. Поскольку файл jks содержит открытый и закрытый ключ, здесь он используется для двух целей. 1-й - предоставить закрытый ключ для https этой службы. Во-вторых, я хочу использовать это как сертификат в клиенте eureka discovery.
keytool -genkeypair \
-keystore keypair.jks \
-dname "CN=OLEKSIYS-W3T, OU=Sun Java System Application Server, O=Sun Microsystems, L=Santa Clara, ST=California, C=US" \
-keypass 123456 \
-storepass 123456 \
-keyalg RSA \
-keysize 2048 \
-alias default \
-ext SAN=DNS:localhost,DNS:docker-prototype,DNS:docker-prototype-authentication,DNS:docker-prototype-eureka-server,DNS:docker-prototype-post-management,DNS:docker-prototype-secure-service,DNS:docker-prototype-user-management,DNS:docker-prototype-user-profile,DNS:docker-prototype-zuul-gateway \
-validity 9999
пара ключей создается с помощью вышеуказанной команды