在 openshift 的路由中使用秘密中的证书和密钥
Consum certificate and key from a secret in a route in 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
,您有两个选择(reencrypt
或 edge
)。对于这两个选项,您都希望将证书/密钥作为文件(PEM 编码文件中的 certificate/key 对)。
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
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 可以自动保护路由,也许有帮助。
如何在 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
,您有两个选择(reencrypt
或 edge
)。对于这两个选项,您都希望将证书/密钥作为文件(PEM 编码文件中的 certificate/key 对)。
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
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 可以自动保护路由,也许有帮助。