1

我想通过服务和外部域名调用在 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 中的服务名称。此名称与证书中的源主机名不对应。所以目前我看到了解决这个问题的三种可能性:

  1. 将 OpenShift 服务的名称添加到证书中
  2. 在调用外部 REST 服务之前停用主机名验证
  3. 配置 OpenShift(不知道这是否可行)

有没有人解决这个或类似的问题?

目前我使用的是 OpenShift v3.9。我们在一个访问 OpenShift 之外的 REST 服务的 pod 中运行一个简单的 Spring Boot 应用程序。

任何提示将不胜感激。

谢谢

马库斯

4

1 回答 1

1
  1. 丑陋,可能会花费你额外的 $$
  2. 违背了 TLS 的目的。
  3. 在 Kubernetes 1.10 及更早版本上,您可以使用ExternalName

    您也可以与OpenShift一起使用。

  4. 您还可以将Kubernetes IngressTLS一起使用。此外,为OpenShift记录了

希望能帮助到你!

于 2018-09-19T23:59:56.830 回答