idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

栏目: 后端 · 发布时间: 5年前

内容简介:众所周知,HTTPS是用来解决 HTTP 明文协议的缺陷,在 HTTP 的基础上加入 SSL/TLS 协议,依靠 SSL 证书来验证服务器的身份,为客户端和服务器端之间建立“SSL”通道,确保数据运输安全。而Istio的双向TLS也用来保证数据传输安全。那么,Istio的双向TLS是如何与HTTPS服务一起工作的呢?下面通过实例演示Istio的双向TLS是如何与HTTPS服务一起工作的,包括三个部分:• 在没有 Istio sidecar 的情况下部署 HTTPS 服务

众所周知,HTTPS是用来解决 HTTP 明文协议的缺陷,在 HTTP 的基础上加入 SSL/TLS 协议,依靠 SSL 证书来验证服务器的身份,为客户端和服务器端之间建立“SSL”通道,确保数据运输安全。而Istio的双向TLS也用来保证数据传输安全。那么,Istio的双向TLS是如何与HTTPS服务一起工作的呢?

下面通过实例演示Istio的双向TLS是如何与HTTPS服务一起工作的,包括三个部分:

• 在没有 Istio sidecar 的情况下部署 HTTPS 服务

• 关闭 Istio 双向 TLS 认证情况下部署 HTTPS 服务

• 部署一个启动双向 TLS 的 HTTPS 服务。对于每个部署,请求连接到此服务并验证其是否有效。

环境准备

• 未启用双向TLS的安装了Istio的k8s集群

• 安装openssl,生成证书和configmap

通过openssl生成key和证书:

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

从给定的公私钥对创建TLS secret:

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

使用kubectl创建Configmap:

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

1.没有部署sidecar

创建一个不部署sidecar的基于nginx的HTTPS服务,并创建一个部署sidecar的sleep应用来调度nginx

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

检查上述pod是否正常运行

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

在pod正常运行时,从sleep应用的istio-proxy容器内访问HTTPS服务:

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

可以看到,nginx能正常访问。

  1. 部署sidecar并禁用双向TLS

删除上一步创建的未部署sidecar的HTTPS服务,并用sidecar部署它

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

查看pod是否正常启动:

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

在pod正常运行时,从istio-proxy容器运行,可以看到,nginx能正常访问:

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

  1. 部署sidecar,并启用双向TLS

通过配置网格级别的认证策略启用全局双向TLS,首先配置网格认证策略:

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

配置目的地规则:

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

此时,网格中的所有服务已经开启了双向TLS功能,从sleep容器中访问nginx是正常的:

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

从sleep容器中访问时,工作流为“sleep→sleep-proxy→nginx-proxy→nginx” ,此时,整个过程是7层流量,在sleep-proxy到nginx-proxy之间有一个L4双向TLS加密。

而在istio-proxy中运行时,它无法工作:

idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

此时,工作流为“sleep-proxy→nginx-proxy→nginx”,nginx-proxy会从sleep-proxy中获得双向TLS流量,但是sleep-proxy无法提供客户端证书,因此,它不起作用。

总结:通过上述演示,可以了解到,当istio sidecar使用HTTPS服务部署时,无论是否启用双向TLS功能,代理自动从L7降到L4,所以,它不会终止原来的HTTPS通信。

相关服务请访问 https://support.huaweicloud.co ... _2019


以上所述就是小编给大家介绍的《idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员的呐喊

程序员的呐喊

[美]Steve Yegge / 徐旭铭 / 人民邮电出版社 / 2014-5-1 / 45.00元

《程序员的呐喊》的作者是业界知名的程序员—来自google的steve yegge,他写过很多颇富争议的文章,其中有不少就收录在这本书中。本书是他的精彩文章的合集。 《程序员的呐喊》涉及编程语言文化、代码方法学、google公司文化等热点话题。 对工厂业界的各种现象、技术、趋势等,作者都在本书中表达了自己独特犀利的观点。比如java真的是一门优秀的面向对象语言吗?重构真的那么美好吗?强......一起来看看 《程序员的呐喊》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具