当前位置: 首页 > 知识库问答 >
问题:

OpenShift边缘TLS终止路由不工作。CWWKO0801E:无法初始化SSL连接

终翔
2023-03-14

有人能帮我开轮班路线吗?

我设置了一个带有边缘TLS终端的路由,对服务endpoint(https://openshift-pmi-dev.apps.vapidly.os.fyre.ibm.com)的呼叫导致:

502 Bad Gateway
The server returned an invalid or incomplete response.

来自pod的日志具有以下错误:我使用endpoint进行REST调用

CWWKO0801E: Unable to initialize SSL connection. Unauthorized access was denied or security settings have expired. Exception is javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    at com.ibm.jsse2.c.a(c.java:6)
    at com.ibm.jsse2.as.a(as.java:532)
    at com.ibm.jsse2.as.unwrap(as.java:580)
    at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:5)
    at com.ibm.ws.channel.ssl.internal.SSLConnectionLink.readyInbound(SSLConnectionLink.java:515)

默认Passthrough路由终止工作!,但这不允许我指定基于路径的路由。因此,尝试使用带有边缘TLS终止的路由我正在尝试使用单个主机名将流量从/ibm.pmi/service路由到apm-pm-api服务,并将/ibm.pmi路由到apm-pm-ui服务https://openshift-pmi-dev.apps.vapidly.os.fyre.ibm.com.

我将SSL证书加载到边缘路由中,自由服务通过deployment.yaml.中定义的机密使用相同的证书

我无法确定这个SSL相关错误的根本原因,这是来自wlp liberty应用服务器还是openshift路由的问题?

关于如何让liberty应用程序工作有什么建议吗?

提前感谢您的帮助!

附加route.yaml

kind: Route
apiVersion: route.openshift.io/v1
metadata:
  name: openshift-pmi-dev
  namespace: default
  selfLink: /apis/route.openshift.io/v1/namespaces/default/routes/openshift-pmi-dev
  uid: 9ba296f6-1611-11ea-a1ab-0a580afe00ab
  resourceVersion: '6819345'
  creationTimestamp: '2019-12-03T21:12:26Z'
  annotations:
    haproxy.router.openshift.io/balance: roundrobin
    haproxy.router.openshift.io/hsts_header: max age=31536000;includeSubDomains;preload
spec:
  host: openshift-pmi-dev.apps.vapidly.os.fyre.ibm.com
  subdomain: ''
  path: /ibm/pmi/service
  to:
    kind: Service
    name: apm-pm-api-service
    weight: 100
  port:
    targetPort: https
  tls:
    termination: edge
    certificate: |
      -----BEGIN CERTIFICATE-----
      <valid cert>
      -----END CERTIFICATE-----
    key: |
      -----BEGIN RSA PRIVATE KEY-----
      <valid cert>
      -----END RSA PRIVATE KEY-----
    caCertificate: |
      -----BEGIN CERTIFICATE-----
      <valid cert>
      -----END CERTIFICATE-----
    insecureEdgeTerminationPolicy: Redirect
  wildcardPolicy: None
status:
  ingress:
    - host: openshift-pmi-dev.apps.vapidly.os.fyre.ibm.com
      routerName: default
      conditions:
        - type: Admitted
          status: 'True'
          lastTransitionTime: '2019-12-03T21:12:26Z'
      wildcardPolicy: None
      routerCanonicalHostname: apps.vapidly.os.fyre.ibm.com

将路由更改为重新加密,导致应用程序不可用 502 错误。请求似乎未到达服务。

共有2个答案

凌朗
2023-03-14

更改以下内容后问题得到解决:

  • 在liberty应用程序(server.xml)上启用http
  • 在docker文件上公开http端口
  • 启用服务上的http端口。亚马尔
  • 在边缘路由上使用http端口
孙经艺
2023-03-14

边缘终止意味着 http(明文)到后端服务,但您的路由会不遗余力地将 http 发送到 https 端口。

删除端口:https或使用“重新加密”终止而不是“边缘”

 类似资料:
  • 我一直在阅读安全(SSL)路由的Openshift文档。因为我使用免费计划,所以我只能有一个“边缘终止”路由,这意味着当外部请求到达路由器时SSL结束,内容通过HTTP从路由器传输到内部服务。 这安全吗?我的意思是,信息传输的一部分最终是通过HTTP完成的。

  • 有没有人可以帮我开轮班路线? 我已经设置了一个带有重新加密TLS终止的路由。对服务endpoint(https://openshift-pmi-dev-reencrypt-default.apps.vapidly.os.fyre.ibm.com)的调用会导致: 对 URL 发出的请求似乎没有到达 pod,它返回 503 应用程序不可用错误。liberty 应用程序在端口 8543 上运行良好,应用

  • 我有一个问题,基本上是关于OpenShift Origin路线的澄清。 我设法在本地VMWare安装的CentOS上设置OpenShift Origin版本1.4.0-rc1。我还能够为 nginx 拉取和设置映像,pod 状态显示正在运行。也能够在服务endpoint上访问nginx。现在,根据文档,如果我想在托管系统之外访问此nginx实例,我需要创建一个路由,我也这样做了。 混乱出现在Ope

  • 问题:给定一个字符串数组,将字母表组合在一起。你可以按任何顺序返回答案。 字形是一个单词或短语,通过重新排列一个不同的单词或短语的字母,通常使用所有的原始字母一次。 代码: 错误:

  • 我已经部署了一个运行在OpenShift Origin上的grpc服务。这是由OpenShift服务支持的。该服务通过OpenShift路由公开。我正在尝试通过一个服务和路线将集装箱港口(50051)映射到8080港的外部世界,从而使这个吊舱可用。 服务试图公开的映像在其Dockerfile中具有: 路线如下: 服务端口:8080/TCP 目标端口:50051 在DeploymentConfig中

  • 我的公司让我运行用openshift部署的微服务项目。 现有服务成功连接到具有此属性的rabbitmq服务, 现在我正在用我的笔记本电脑开发新服务,还没有部署到 OpenShift,现在我正在尝试连接到与其他代理相同的代理,所以我为 RabbitMQ 服务创建了新路由,将 5672 作为它的端口 这是我的路线YAML: 当我;我正在尝试将我的新服务与此属性连接: 我的服务未能设置连接。 如何解决这