首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenShift边缘TLS终止路由不工作。CWWKO0801E:无法初始化SSL连接

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

Stack Overflow用户
提问于 2019-12-04 00:10:16
回答 2查看 5.1K关注 0票数 3

有人能帮我开一下班次吗?

我已经设置了一个具有边缘TLS终止的路由,对服务端点(https://openshift-pmi-dev.apps.vapidly.os.fyre.ibm.com)的调用将导致:

代码语言:javascript
复制
502 Bad Gateway
The server returned an invalid or incomplete response.

来自吊舱的日志有以下错误,我使用端点进行REST调用

代码语言:javascript
复制
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)

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

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

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

任何关于如何使自由申请工作的建议。

谢谢你提前帮忙!

附加route.yaml

代码语言:javascript
复制
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错误.似乎请求没有到达服务。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-04 00:30:12

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

要么删除端口:https,要么使用'reencrypt‘终止而不是'edge’

票数 4
EN

Stack Overflow用户

发布于 2019-12-08 14:02:38

在更改以下内容后解决了问题:

在自由应用程序(server.xml)

  • expose上启用http,在码头文件

  • 上启用http端口,在边缘路由上在service.yaml

  • use上启用http端口。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59167199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档