我想通过服务和外部域名调用在 OpenShift 外部运行的 REST 服务。这与 http:// 请求完美配合。该机制在文档中进行了描述:https ://docs.okd.io/latest/dev_guide/integrating_external_services.html#saas-define-service-using-fqdn
但是,外部服务使用 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= CH)
这个例外对我来说很清楚,因为我们使用 OpenShift 中的服务名称。此名称与证书中的源主机名不对应。所以目前我看到了解决这个问题的三种可能性:
- 将 OpenShift 服务的名称添加到证书中
- 在调用外部 REST 服务之前停用主机名验证
- 配置 OpenShift(不知道这是否可行)
有没有人解决这个或类似的问题?
目前我使用的是 OpenShift v3.9。我们在一个访问 OpenShift 之外的 REST 服务的 pod 中运行一个简单的 Spring Boot 应用程序。
任何提示将不胜感激。
谢谢
马库斯