Ошибка проверки имени хоста в 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. Это имя не соответствует имени хоста источника в сертификате. Поэтому в настоящее время я вижу три возможности решить эту проблему:
- Добавьте имя службы OpenShift в сертификат
- Отключите проверку имени хоста перед вызовом внешней службы REST.
- Настроить OpenShift (не знаю, возможно ли это)
Кто-нибудь решил эту или подобную проблему?
В настоящее время я использовал OpenShift v3.9. Мы запускаем простое приложение Spring Boot в модуле, обращающемся к службам REST вне OpenShift.
Любая подсказка будет оценена.
Спасибо
Markus
1 ответ
- Уродливый и может стоить вам дополнительных $$
- Поражает цель TLS.
На Kubernetes 1.10 и более ранних версиях вы можете использовать ExternalName.
Вы также можете использовать с OpenShift.
Вы также можете использовать и Kubernetes Ingress с TLS. Также документировано для OpenShift
Надеюсь, поможет!