Ошибка проверки имени хоста в OpenShift при интеграции внешней службы с использованием внешнего имени домена

Я хочу вызвать службу REST, работающую вне OpenShift, через службу и внешнее доменное имя. Это прекрасно работает с запросом http://. Механизм описан в документации: https://docs.okd.io/latest/dev_guide/integrating_external_services.html

Однако внешний сервис защищен с помощью https. В этом случае я получил следующее исключение: имя хоста "external-test-service" не соответствует теме сертификата, предоставленной партнером (CN = .xxx, O = xxx, L = xxx, ST = GR, C = CH); вложенное исключение: javax.net.ssl.SSLPeerUnverifiedException: имя хоста "external-test-service" не соответствует теме сертификата, предоставленной партнером (CN =.xxx, O = xxx, L = xxx, ST = GR, C = СН)

Исключение для меня очевидно, потому что мы используем имя сервиса из OpenShift. Это имя не соответствует имени хоста источника в сертификате. Поэтому в настоящее время я вижу три возможности решить эту проблему:

  1. Добавьте имя службы OpenShift в сертификат
  2. Отключите проверку имени хоста перед вызовом внешней службы REST.
  3. Настроить OpenShift (не знаю, возможно ли это)

Кто-нибудь решил эту или подобную проблему?

В настоящее время я использовал OpenShift v3.9. Мы запускаем простое приложение Spring Boot в модуле, обращающемся к службам REST вне OpenShift.

Любая подсказка будет оценена.

Спасибо

Markus

1 ответ

  1. Уродливый и может стоить вам дополнительных $$
  2. Поражает цель TLS.
  3. На Kubernetes 1.10 и более ранних версиях вы можете использовать ExternalName.

    Вы также можете использовать с OpenShift.

  4. Вы также можете использовать и Kubernetes Ingress с TLS. Также документировано для OpenShift

Надеюсь, поможет!

Другие вопросы по тегам