httos双向认证配置_idou老师教你学Istio 15:Istio实现双向TLS的迁移

本文由华为云容器Istio团队撰稿,未经允许谢绝转载

众所周知,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和证书:

ba180c1ae89745c7389d69917bd46af9.png

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

f7271b7de3513f286777d421384c38ec.png

使用kubectl创建Configmap:

a6bd849711b5418b1f758629da77860a.png

1. 没有部署sidecar

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

3ee39d568654a75730848a8c9a2e4a78.png

182721d9553c18fa5a9addca42ac5a4b.png

检查上述pod是否正常运行

b3edc725de747e92ce15c8014d0bde3f.png

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

b1f1991b7e464305d63c44163d9eeb63.png

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

2. 部署sidecar并禁用双向TLS

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

a458ef5846a02981ec2d7298c06e99e8.png

查看pod是否正常启动:

4b3a4c089d5abc8f1c0988a897db96f0.png

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

ca5e773a3996d6cdbd727d211a4fe754.png

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

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

ce7bb829fbf60db439924da2dc5898af.png

配置目的地规则:

1503757efe760e1622b4327ef6f17912.png

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

b002d35349b79451904c1fbe1acf605d.png

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

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

2a974ece026c09bc940167a81080c32f.png

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

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

本文由华为云容器Istio团队撰稿,未经允许谢绝转载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572571.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向对象 【类库】【委托】【is as运算符】

类库(Class Library) .dll文件 类库字面意思就是类的集合,里面有很多被编译后的C#代码,不可阅读,不可修改,只能调用 类库是一个综合性的面向对象的可重用类型集合,这些类型包括:接口、抽象类和具体类。 类库…

混凝土静力受压弹性模量试验计算公式_【小马建考干货】天天送检,你知道混凝土试块检测哪些性能标指吗?...

混凝土九大类性能检测试块留置尺寸,具体留置前请咨询项目试验室,因为奇葩试验室很多!一、砼抗压强度试块尺寸1、砼标准试件尺寸为 150*150*150(公称最大粒径≤31.5mm)。2、非标准试件尺寸通常用100*100*100&#xff08…

怎么做手机的上下滑动_diy滴胶手机壳到底怎么做呢?

diy滴胶手机壳到底怎么做呢?步骤1⃣:购买到手机壳(新手建议用有凹槽的手机壳,以免滴胶溢出)步骤2⃣:​拿到手机壳之后,建议用酒精擦拭一下, 以免有灰尘影响滴胶的效果步骤3⃣:​(此步骤不为必须步骤)如果不喜欢手机背面的颜色&…

扫描线三巨头 hdu1928hdu 1255 hdu 1542 [POJ 1151]

学习链接:http://blog.csdn.net/lwt36/article/details/48908031 学习扫描线主要学习的是一种扫描的思想,后期可以求解很多问题。 扫描线求矩形周长并 hdu 1928 Picture Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O…

希尔排序 最坏时间_排序算法(2)

本文介绍插入排序和希尔排序,插入排序是较为常见的排序算法,希尔排序也是基础的排序算法,废话不多说,具体来看一下两种算法。山插入排序插入排序的基本思想是拿到下一个插入元素,在已经有序的待排数组部分找到自己的位…

题目1017:还是畅通工程(最小生成树初步应用)

题目链接:http://ac.jobdu.com/problem.php?pid1017 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: // // 1017 还是畅通工程.cpp // Jobdu // // Created by PengFei_Zheng on 18/04/2017. // Copyright © 201…

maven自带clean_maven之clean、install命令

1、进入到maven根目录,执行mvn compile命令会在根目录生成target文件(参照maven之helloworld案例),如下图:2、执行mvn clean可将根目录下生成的target文件移除3、mvn install命令Speak.java代码package com.maven;import com.maven.HelloWorl…

多对一(一对多)的双向关联

一个组(Group)有多个用户(User),进行多对一(一对多)的双向配置,在数据库中生成的表结构如下图: Annotation配置: Group: 1 package com.bjsxt.hibernate;2 3 …

angularjs 同步請求_angularjs $q、$http 处理多个异步请求

在实际业务中经常需要等待几个请求完成后再进行下一步操作。但angularjs中$http不支持同步的请求。解决方法一:$http.get(url1).success(function (d1) {$http.get(url2).success(function (d2) {//处理逻辑});});解决方法二:then中的方法会按顺序执行。…

隧道不能访问web vxaln_SpringBoot实现本地存储文件上传及提供HTTP访问服务

笔者计划为大家介绍分布式文件系统,用于存储应用的图片、word、excel、pdf等文件。在开始介绍分布式文件系统之前,为大家介绍一下使用本机存储来存放文件资源。二者的核心实现过程是一样的:上传文件,保存文件(本节是本地磁盘)返回…

poj1986 Distance Queries(lca又是一道模版题)

题目链接&#xff1a;http://poj.org/problem?id1986 题意&#xff1a;就是老问题求val[u]val[v]-2*val[root]就行。还有这题没有给出不联通怎么输出那么题目给出的数据一定 是联通的。 题解&#xff1a;就是单纯的lca。 #include <iostream> #include <cstring> …

httpsurlconnection 写不进去authorization值_23. 假设检验的时候为什么常写p lt; 0.05,而不写具体的p值?...

在进行假设检验的时候&#xff0c;如果p值小于设定的临界值&#xff0c;比如0.05或0.01、0.001等&#xff0c;人们常常会写p<0.05、p<0.01、p<0.001, 而没有写具体的p值。这种传统是曾经的技术限制造成的&#xff0c;而在今天是不被提倡的&#xff0c;现代更提倡的是直…

修改form_Vue通过阿里云oss的url连接直接下载文件并修改文件名

我测试过很多遍,想要通过a标签的形式来直接点击url下载文件并重命名但是都失败了,最终只能下载却不能重命名 所以 换了java后台来修改名字.以下代码我做的网页是点击文件直接下载直接下载下来了,一开始的文件名是上传到oss时以id命名的名字,现在下载的时候想改名,遇到了问题,所…

支付宝 报错 rsa_private read error : private key is NULL解决方法

原因: 真机调试IOS支付宝功能GDB出现 rsa_private read error : private key is NULL提示 调试iOS 支付宝SDK的时候&#xff0c;执行demo。把Partner(合作商户 ID)Seller(账户 ID)RSA public key(支付宝公钥)RSA private key(商户私钥)执行的时候&#xff0c;报错 rsa_private…

nasa注册_今天是黑洞星期五!

What is a black hole? A black hole is an astronomical object with a gravitational pull so strong that nothing, not even light, can escape it. A black hole’s “surface,” called its event horizon, defines the boundary where the velocity needed to escape e…

Sort List[leetcode] 由归并排序的递归和循环,到本题的两种解法

归并排序能够有两种思路----top-down 和 bottom-up top-down: 递归实现&#xff0c;将数组分成两半。分别处理。再合并。 伪代码例如以下&#xff1a; split ( A[], l, r) {if ( r - l < 2) return;m (r l) / 2;split ( A, l, m); //split A[l…m-1]split ( A, m, r); //s…

qcap 教程_高通平台抓取ramdump及使用qcap解析,ramdumpqcap

高通平台抓取ramdump及使用qcap解析&#xff0c;ramdumpqcap高通死机或者查找休眠问题可以通过ramdump来分析&#xff0c;具体步骤先确认下内核配置了CONFIG_MSM_DLOAD_MODE&#xff0c;并确认download_mode为1grep -rin CONFIG_MSM_DLOAD_MODE out/target/product/xxxxx/obj/K…

STM32学习笔记(五)——通用定时器计数延时

STM32定时器概述 STM32F40x系列总共最多有14个定时器&#xff0c;定时器分为三类&#xff1a;基本定时器、通用定时器和高级定时器。它们的都是通过计数来达到定时的目的&#xff0c;和51的定时器差不多&#xff0c;基本原理都是一样的&#xff0c;就是功能多了一些&#xff0c…

win10user文件夹迁移_Win10用户文件如何从系统盘转到其他盘

系统盘什么?就是放置Windows系统的硬盘。安装系统放在系统盘里&#xff0c;本身已经占了很大空间&#xff0c;可是用户文件也放在系统盘里。Win10如何把用户文件转移到非系统盘?下面就Win10消费者预览版Build9926为例&#xff0c;与大家分享一下把Win10用户文件移动到非系统盘…

第十九讲:职责链模式

public class CarBodyHandler extends CarHandler{Overridepublic void HandlerCar() {// TODO Auto-generated method stubSystem.out.println("组装车身");}} public abstract class CarHandler {public abstract void HandlerCar(); } public class CarHeadHandle…