我使用OpenShift Origin创建了一个带有路径的应用程序。 现在我想使用TLS使该路由安全: 我已经创建了带边缘和直通的路线。但现在我想创建一个使用Reencrypt的路由。
因此我需要在我的路线中指定一些证书:
apiVersion: v1
kind: Route
metadata:
name: route-pt-secured
spec:
host: www.example.com
to:
kind: Service
name: service-name
tls:
termination: reencrypt 1
key: [as in edge termination]
certificate: [as in edge termination]
caCertificate: [as in edge termination]
destinationCaCertificate: |- 2
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
它与边缘终止非常相似。但在那里,我不必描述destinationCACertificate
。
我使用keytool创建自己的证书和密钥,并转换为pk12。
之后,我可以看到我的证书和密钥(openssl pkcs12
)并将它们复制到我的路线中。
现在我的问题是,我真的不知道destinationCACertificate是什么?我是否必须以与创建普通密钥/证书相同的方式创建它,或者我是否必须在其他地方读取/创建它?
答案 0 :(得分:0)
destinationCACertificate是(可选的)CA证书,它签署了路由指向的TLS端点(pod)的服务证书。作为pod的端点可能是私有IP(10.x.x.x),并且大多数CA不会在私有IP范围内签署IP。此外,pod经常被创建和删除(获取不同的IP地址),因此很难创建具有pod IP的服务证书。
destinationCACertificate实际上是路由器和pod之间的共享密钥 - 路由器期望destinationCACertificate与服务器证书匹配,并且只有当您(用户)将路由设置为匹配时才能进行匹配pod(s)服务器证书。