You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在OpenShift Route YAML配置中正确添加TLS证书

问题根因
  • 字段格式不符合要求:OpenShift Route的tls.destinationCACertificate字段只接受PEM格式的原始证书明文,不接受base64编码字符串,直接传入base64内容会触发API校验失败。
  • 变量注入逻辑错误:当前写法直接引用base64变量,既没有做解码处理,也没有处理YAML块要求的多行缩进,就算变量正常展开也会因为格式错误导致证书解析失败。
正确配置方法

如果已经将证书base64编码存入certificateData变量,直接在生成YAML时完成解码和缩进适配即可,执行如下命令创建Route:

cat <<EOF | oc apply -f -
apiVersion: route.openshift.io/v1
kind: Route
metadata:
  name: test
  namespace: default
  annotations:
    openshift.io/host.generated: 'true'
spec:
  path: /ts/test
  to:
    kind: Service
    name: test1
    weight: 100
  port:
    targetPort: https
  tls:
    termination: reencrypt
    destinationCACertificate: |
$(echo "${certificateData}" | base64 -d | sed 's/^/      /')
  wildcardPolicy: None
EOF

命令逻辑说明:

  • echo "${certificateData}" | base64 -d:将base64编码的证书还原为带-----BEGIN CERTIFICATE-----头尾的原始PEM格式
  • sed 's/^/ /':给解码后每一行证书内容前置6个空格,匹配YAML多行块的缩进要求,避免YAML语法错误

如果不想通过变量注入,也可以直接将原始PEM证书粘贴到对应字段下,保持每一行6个空格的缩进即可,示例片段:

tls:
    termination: reencrypt
    destinationCACertificate: |
      -----BEGIN CERTIFICATE-----
      MIIC3jCCAcagAwIBAgIRAMVxQYnfOmukOqdI7EkOujMwDQYJKoZIhvcNAQELBQAw
      ADAeFw0yMjA2MDcwOTQ3MDlaFw0yMjA5MDUwOTQ3MDlaMAAwggEiMA0GCSqGSIb3
      DQEBAQUAA4IBDwAwggEKAoIBAQDRrmSirAmqSsM3WtJ0/2wEwMw5aMH0tagfDDEy
      Fofr64UkxCw/e6gZYhOTY5TPMyK9XZkSf81lsRdYyo/t5WtNhYZgHkAaNTK8WVeJ
      LCGP1VQSjwZq82+edRfiJ0xIXD1JWlARhh7uXToZxYUXQXhJYtjJg9qCtISOv3/C
      S6V+rMNaCq8yegLfb3RdXz5KAiHs/+xAAKlOmhn2Ab3XUVFCBPpVIWZpCrcnAag3
      ev8dDm28g9oRjJzC0jeOrLz1gbUn6M/B8VsYLTGFSjiopPkYZsmcFY0DHe7FopWe
      hDQueVkmFtYdrRUZaT/r1R+65dCmS1YtQu83mhCDZQ7oNW+XAgMBAAGjUzBRMB0G
      A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMCIGA1Ud
      EQEB/wQYMBaCFHdvLXNyZS48Y2x1c3RlciBVUkw+MA0GCSqGSIb3DQEBCwUAA4IB
      AQB86t7SguZySp7C0vjqqAECEHOS34xyhecOYbmxyu+aaQTu2Ryzxh9ymSUlI9oa
      qUqjMYXSeQY244bt2jgqh9yLWe7VtMu9IMX3DAXlV5Hogmt4BKNtJTRwB8hTBZHl
      26e+UiHe72BW28xCL5zYNkLG4fE5r+pMWUrAQzIsVmkfiGSb+OZpwJ7EoOz5wnBm
      Q/85ehlufxYwpywnZZcM3FKcDwxiDm1VDo+jU70KsZ4f1zxWpXqnUEUBQ0Y8ca+7
      oMneoZi4/VeBC82qDmTfvigi0NE+VTCglVeU2jgKFDodChaJbHXIpg8UKVpmvGsO
      CfUXffVNI/PErCgY3e4vH/65
      -----END CERTIFICATE-----
注意事项
  • reencrypt模式下destinationCACertificate需要填写后端服务使用的CA根证书,用于OpenShift路由器校验后端HTTPS服务的证书合法性,不要错填成客户端证书或者服务端公网证书。
  • PEM证书不要随意修改换行、添加额外空格,保持原始格式即可,否则会导致证书解析失败。

内容的提问来源于stack exchange,提问作者Manju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 22:57:20