OpenShift Route 提供了三种https加密方式:
Edge Termination: 应用的加解密都在router上完成;客户端到router之间是https,router到应用之间是http。
Passthrough Termination:应用的加解密有应用自己完成;客户端到router之间是https,router到应用之间也是https,router只是做个https的透传。
Re-encryption Termination:这个也叫做全链路https,应用本身做了加密,在应用和router之间做一次https认证;客户端和router之间再做一次https认证。
证书种类和密钥用途
- 证书一般分为两种:
一种是CA证书,这是相对顶级证书,证书包含的内容就是CA的相关信息和自己的公钥;另一个种证书是应用证书,应用证书的签发者是CA,由CA的私钥进行签发,证书包含的内容就是CA的相关信息和自己的公钥。 - 证书的密钥一般是指非对称密钥
CA私钥是用来对应用证书进行签名的;应用私钥一般是传输对称密钥,对称密钥是用来加密真正的应用数据;CA的公钥一般是客户端对应用端的所提供的加密信息(这里加密的信息是CA的私钥进行加密的,所以需要使用CA的公钥进行解密)进行解密,解密后的是哈希值,然后将对方提供的信息(公钥等)进行哈希,然后将其与解密后的是哈希值进行对比,一致的话,就说明对方是CA签发信任的并且信息没有被修改。一般用来对CA所签发的应用证书做个认证动作;
Edge Termination 配置
以Jenkins为例,P1是基本的route信息配置,到了 Security 字段勾选 Secure route,在TLS Termination字段选择Edge。
- 另外Insecure Traffic字段又有三个选项:
None:在用户访问这个route域名时,禁止(disabled)放行http流量.
Allow:在用户访问这个route域名时,允许访问页面未经加密的信息
Redirect:在用户访问这个route域名时,将访问http流量重定向到访问https。 - Certificate
这里添加你页面加载的证书 - Private Key
添加该证书对应的私钥 - CA Certificate
添加对上面证书进行签名的CA证书 - Destination CA Certificate
这个字段为灰色,这个是在Re-encryption加密方式的才使用,用于确认pod端的证书是否正确。 -
PS
如果以上字段都不填写,会使用 OpenShift 默认提供的自签的证书信息。
P1.png
P2.png
Passthrough Termination 配置
以openshift的registry-console为例,除了基本的配置外,证书相关的字段都是灰色的,因为这个时候router只做https流量透传,不需要对流量进行加解密,因为也不需要证书和私钥相关的文件了。


Re-encryption
以grafana为例,以下四个字段中前三个字段是对外给客户端加密使用的,第四个字段是确认服务端的证书是否有效,因此需要加载服务端证书的CA证书。
- Certificate
这里添加你页面加载的证书 - Private Key
添加该证书对应的私钥 - CA Certificate
添加对上面证书进行签名的CA证书 -
Destination CA Certificate
加载服务端证书的CA证书,即pod应用证书的CA证书,用于router端确认pod端的证书是否有效。
P5.png

网友评论