Проект на основе микросервиса Spring Cloud показывает неверный запрос. Для этой комбинации хоста и порта требуется TLS оJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проект на основе микросервиса Spring Cloud показывает неверный запрос. Для этой комбинации хоста и порта требуется TLS о

Сообщение Anonymous »

В одном из моих проектов микросервисов на основе Spring Cloud (Eureka) я пытаюсь включить SSL. Проект содержит сервер обнаружения, шлюз и две службы (служба-а и служба-б). Я включаю конфигурацию, связанную с SSL, во все четыре приложения. Вот они:
Приложение Discovery Server.properties:

Код: Выделить всё

spring.application.name=serviceregistry
server.port=8848

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

eureka.instance.prefer-ip-address=false
eureka.instance.hostname=localhost
eureka.instance.lease-expiration-duration-in-seconds=30
eureka.instance.lease-renewal-interval-in-seconds=15

# SSL
server.ssl.enabled=true
server.ssl.key-store-type=PKCS12
server.ssl.key-store=\\sslkey24.p12
server.ssl.key-store-password=PASSWORD
server.ssl.key-alias=ALIAS
Приложение Cloud Gateway.yml:

Код: Выделить всё

server:
port: 8849
ssl:
enabled: true
key-store-type: PKCS12
key-store: \\sslkey24.p12
key-store-password: PASSWORD
key-alias: ALIAS

spring:
application:
name: cloud-gateway
cloud:
discovery:
enabled: true
gateway:
routes:
- id: service-a
uri: lb://service-a
predicates:
- Path=/service-a/**

- id: service-b
uri: lb://service-b
predicates:
- Path=/service-b/**
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: /eureka
instance:
hostname: localhost
prefer-ip-address: false
ip-address: 127.0.0.1
lease-expiration-duration-in-seconds: 30
lease-renewal-interval-in-seconds: 15
Сервис A application.properties:

Код: Выделить всё

spring.application.name=service-a

server.port=8611
server.servlet.context-path=/service-a
server.error.include-binding-errors: always
server.error.include-stacktrace=never

server.ssl.enabled=true
server.ssl.key-store-type=PKCS12
server.ssl.key-store=\\sslkey24.p12
server.ssl.key-store-password=PASSWORD
server.ssl.key-alias=ALIAS

# Cloud Gateway
eureka.instance.hostname=localhost
eureka.instance.prefer-ip-address=false
eureka.instance.ip-address=127.0.0.1
eureka.client.serviceUrl.defaultZone=/eureka
#eureka.instance.secure-port-enabled=true
#eureka.instance.secure-port=8611
eureka.instance.lease-expiration-duration-in-seconds=30
eureka.instance.lease-renewal-interval-in-seconds=15
Приложение B.properties:

Код: Выделить всё

spring.application.name=service-b
server.port=8612
server.servlet.context-path=/service-b

# Cloud Gateway
eureka.instance.hostname=localhost
eureka.instance.prefer-ip-address=false
eureka.instance.ip-address=127.0.0.1
eureka.client.serviceUrl.defaultZone=/eureka
eureka.instance.lease-expiration-duration-in-seconds=30
eureka.instance.lease-renewal-interval-in-seconds=15

# SSL
server.ssl.enabled=true
server.ssl.key-store-type=PKCS12
server.ssl.key-store=\\sslkey24.p12
server.ssl.key-store-password=PASSWORD
server.ssl.key-alias=ALIAS
Итак, проблема возникла, когда я отправил запрос к службе-a или службе-b через шлюз. Я имею в виду, что мой шлюз работает на порту 8849, поэтому, когда мой запрос отправляется через порт 8849, я получаю:

Неверный запрос

Эта комбинация хосту и порту требуется TLS.

Когда я отключаю SSL для службы a и службы b и включаю его только на шлюзе, SSL работает нормально. Я понятия не имею, почему возникает эта проблема!
Мне интересно узнать, рекомендуется ли включать SSL в шлюзе и отключать его в других службах (когда нет межсервисное взаимодействие).
Я использую Spring Boot 3.3.4 и Java 21.
Может ли кто-нибудь помочь мне определить корень причина ошибки и возможное решение?
  • Спасибо


Подробнее здесь: https://stackoverflow.com/questions/792 ... tion-of-ho
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»