从 openshift 中的路由中的秘密消耗证书和密钥

问题描述

如何使用 openshift 中已有的证书和密钥创建一个 secret,然后将其添加到路由中

解决方法

您可以使用 oc create secret tls 创建一个新的 Secret 类型“tls”(see documentation):

# Create a new TLS secret named tls-secret with the given key pair:
oc create secret tls tls-secret --cert=path/to/tls.cert --key=path/to/tls.key

要创建安全的 Route,您有两个选项(reencryptedge)。对于这两个选项,您都希望将证书/密钥作为文件(PEM 编码文件中的证书/密钥对)。

  1. reencrypt 将使用自定义证书创建一个 Route 并重新加密 TLS 终止,这意味着您的 OpenShift 路由器将终止 TLS,然后使用您指定的证书重新加密流量:立>
$ oc create route reencrypt --service=frontend --cert=tls.crt --key=tls.key --dest-ca-cert=destca.crt --ca-cert=ca.crt --hostname=www.example.com
  1. edge 终止意味着当您通过 Route 查询您的应用程序时,OpenShift 路由器将提供您指定的证书:
$ oc create route edge --service=frontend --cert=tls.crt --key=tls.key --ca-cert=ca.crt --hostname=www.example.com

如果您想阅读详细信息,请查看the documentation

,

路由目前无法通过这种方式访问​​机密。

有一个历史悠久的未决问题(2015): https://github.com/openshift/origin/issues/2162

openshift acme operator 可以自动保护路由,也许这会有所帮助。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...