当前位置: 首页 > news >正文

备考ICA----Istio实验12---配置双向TLS Istio Ingress Gateway实验

备考ICA----Istio实验12—配置双向TLS Istio Ingress Gateway实验

本实验部分配置延续上个Istio实验11

1. 重新配置secret

重新配置secret使其带有ca证书可以验证客户端证书是否合法
先删除原有secret,再配置新的secret

# 删除原tls类型的secret
kubectl -n istio-system delete secret pana-credential
# 重新创建secret,带有ca的证书
kubectl create secret -n istio-system generic pana-credential \
--from-file=tls.key=example_certs_pana/pana.example.com.key \
--from-file=tls.crt=example_certs_pana/pana.example.com.crt \
--from-file=ca.crt=example_certs_root/example.com.crt
# 确认secret被正确创建
kubectl get  secrets -n istio-system 

在这里插入图片描述

2. Gateway配置

将Gateway设置为MUTUAL模式
mode: MUTUAL
tls-ingress/pana-tls-gateway-mutual.yaml

apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:name: mygateway
spec:selector:istio: ingressgateway                # use istio default ingress gatewayservers:- port:number: 443name: panaprotocol: HTTPStls:mode: MUTUALcredentialName: pana-credential    # must be the same as secrethosts:- pana.example.com

更新部署gateway

kubectl apply -f tls-ingress/pana-tls-gateway-mutual.yaml

3. 测试

3.1 没有客户端证书访问测试

curl -v -HHost:pana.example.com --resolve "pana.example.com:443:192.168.126.220" \
--cacert example_certs_root/example.com.crt "https://pana.example.com:443/hello"

在这里插入图片描述

3.2 生成客户端证书

mkdir example_certs_client
# 生成key和证书请求文件
openssl req -out example_certs_client/client.example.com.csr  -newkey rsa:2048 \
-nodes -keyout example_certs_client/client.example.com.key \
-subj "/CN=pana.example.com/O=client organization"
# 使用ca签发证书,用于区别其他证书这里有效期设置成2年
openssl x509 -req -sha256 -days 730 -CA example_certs_root/example.com.crt \
-CAkey example_certs_root/example.com.key \
-set_serial 1 -in example_certs_client/client.example.com.csr \
-out example_certs_client/client.example.com.crt

这样就在example_certs_client目录下生成了3个文件
在这里插入图片描述

3.3 使用client证书再次访问

带上客户端证书再次访问测试

curl -v -HHost:pana.example.com --resolve "pana.example.com:443:192.168.126.220" \
--cacert example_certs_root/example.com.crt \
--cert example_certs_client/client.example.com.crt \
--key example_certs_client/client.example.com.key \
"https://pana.example.com:443/hello"

通过之前定义的vs将请求转到了helloworld的后端
在这里插入图片描述
此时由于带了客户端证书,并且可以通过ca进行验证通过.这样就不再报错了
至此备考ICA----Istio实验12—配置双向TLS Istio Ingress Gateway实验完成.

相关文章:

备考ICA----Istio实验12---配置双向TLS Istio Ingress Gateway实验

备考ICA----Istio实验12—配置双向TLS Istio Ingress Gateway实验 本实验部分配置延续上个Istio实验11 1. 重新配置secret 重新配置secret使其带有ca证书可以验证客户端证书是否合法 先删除原有secret,再配置新的secret # 删除原tls类型的secret kubectl -n istio-system d…...

SpringBoot 统一后端返回格式、处理全局异常

文章目录 引言I 统一标准格式1.1 定义返回标准格式1.2 定义状态码1.3 返回数据模型1.4 枚举定义1.5 Json序列化处理1.6 获取枚举字典II 处理全局异常2.1 全局异常处理器2.2 自定义异常2.3 请求数据模型III 预备知识:注解3.1 JsonInclude3.2 JsonIgnoreProperties...

C++学习基础版(一)

目录 一、C入门 1、C和C的区别 2、解读C程序 3、命名空间 4、输入输出 (1)cout输出流 (2)endl操纵符 (3)cin输入流 二、C表达式和控制语句 1、数据机构 特别:布尔类型bool 2、算数运…...

Rust 双向链表 LinkedList 和安全删除元素的方法

一、LinkedList 基本用法 在Rust中,LinkedList 是标准库中 std::collections 模块提供的一个双向链表实现。这个双向链表在每个节点中都保存了其前一个和后一个节点的引用,允许在链表的任一端进行有效的添加和移除操作。 以下是一个简单的示例&#xf…...

Android 开发中 Gradle 使用详解:构建、配置与优化技巧

文章目录 1. 基本概念2. 配置构建脚本2.1 项目级构建脚本2.2 模块级构建脚本 3. 自定义构建变体和应用 flavorDimensions4. 多模块项目4.1 创建模块4.2 配置模块依赖 5. 使用 Gradle 插件6. 使用 Gradle 命令 Gradle 是一种先进的构建工具,它被广泛应用于 Android 开…...

聚道云助力:易快报CDP无缝对接,登录同步一步到位!

一、客户介绍 某企业咨询有限公司是一家专注于为企业提供全方位、高质量咨询服务的领先机构。该公司致力于将先进的管理理念和实践经验与企业实际需求相结合,助力企业实现可持续发展。无论是战略规划、组织优化、人力资源管理,还是市场营销、财务管理等…...

Java解决幸运数字

Java解决幸运数字 01 题目 哈沙德数是指在某个固定的进位制当中,可以被各位数字之和整 除的正整数。 例如 126 是十进制下的一个哈沙德数,因为 (126)10 mod (1 2 6) 0; 126 也是8进制下的哈沙德 数,因为(126)10 (176)8,(126)10…...

将一个nextjs项目部署到vercel

注:下面均为AI创作(本人已验证该流程可行) 将一个 Next.js 项目部署到 Vercel 是一个相对直接的过程,因为 Vercel 是由同一个团队开发的,专门为 Next.js 优化。以下是部署一个 Next.js 项目到 Vercel 的基本步骤&…...

RocketMQ学习笔记:分布式事务

这是本人学习的总结,主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、分布式事务的难题2、解决方式2.1、半事务消息和事务回查2.2、代码样例2.2.1、TransactionListener2.2.2、TransactionMQProducer2.2.3、MessageListenerConcurrently2.2.4、流程图 1、分布…...

单臂路由和三层交换机

目录 一.单臂路由 1.单臂路由的工作原理 2.单臂路由的配置 2.1画出拓扑图 2.2配置PC 2.3配置交换机 2.4配置路由器 2.5测试 二.三层交换机 1.三层交换机的概述 2.三层交换机的配置 2.1画出拓扑图 2.2配置PC 2.3配置二层交换机 2.4配置三层交换机 2.5测试 3.拓展 三.总结 一.…...

红岩思维导图的制作软件,分享4款热门的!

红岩思维导图的制作软件,分享4款热门的! 在当今信息爆炸的时代,思维导图作为一种有效的知识整理和思维拓展工具,受到了广大用户的青睐。红岩思维导图以其独特的风格和实用性,成为了许多人学习和工作中的得力助手。那么…...

es 集群开机自动启动

前面搭建了 es 集群,但是每次机器重启 都需要手动启动,很麻烦,所以这里介绍一下开机自动启动 首先使用 root 用户 es : 执行以下命令 vim /etc/init.d/elasticsearch 将以下内容 cv 进去 #!/bin/bash #chkconfig: 345 63 …...

使用JMeter从JSON响应的URL参数中提取特定值

在使用Apache JMeter进行API测试时,我们经常需要从JSON格式的响应中提取特定字段的值。这可以通过使用JMeter内置的JSON提取器和正则表达式提取器来完成。以下是一个具体的例子,展示了如何从一个JSON响应中提取rowId的值,同时处理字符串终止符…...

汽车电子行业知识:自动驾驶系统结构和各模块功能

文章目录 2.自动驾驶系统结构和各模块功能2.1.自动驾驶系统结构2.2.车载传感器2.2.1.激光雷达2.2.2.毫米波雷达2.2.3.超声波雷达2.2.4.摄像头2.2.5.GNSS2.2.6. IMU2.2.7.多传感器融合 2.3.各功能模块2.3.1.高精度地图2.3.2.定位2.3.3.感知2.3.4.决策2.3.5.规划2.3.6.控制2.3.7.…...

Oracle参数文件详解

1、参数文件的作用 参数文件用于存放实例所需要的初始化参数,因为多数初始化参数都具有默认值,所以参数文件实际存放了非默认的初始化参数。 2、参数文件类型 1)服务端参数文件,又称为 spfile 二进制的文件,命名规则…...

鸿蒙(HarmonyOS)Navigation如何实现多场景UI适配?

场景介绍 应用在不同屏幕大小的设备上运行时,往往有不同的UI适配,以聊天应用举例: 在窄屏设备上,联系人和聊天区在多窗口中体现。在宽屏设备上,联系人和聊天区在同一窗口体现。 要做好适配,往往需要开发…...

PTGui图像拼接实验

1 PTGui图像拼接实验 1.1 概述 图像拼接技术就是将数张有重叠部分的图像(可能是不同时间、不同视角或者不同传感器获得的)拼成一幅无缝的全景图或高分辨率图像的技术 图像配准(image alignment)和图像融合是图像拼接的两个关键…...

C++|类封装、类的分文件编写练习:设计立方体类、点和圆的关系

文章目录 练习案例1:设计立方体类CPP代码 练习案例2:点和圆的关系CPP代码 代码总结类的分文件编写 练习案例1:设计立方体类 设计立方体类(Cube) 求出立方体的面积和体积 分别用全局函数和成员函数判断两个立方体是否相等。 CPP代码 class Cube { pub…...

大数据开发扩展shell--尚硅谷shell笔记

大数据开发扩展shell 学习目标 1 熟悉shell脚本的原理和使用 2 熟悉shell的编程语法 第一节 Shell概述 1)Linux提供的Shell解析器有: 查看系统中可用的 shell [atguiguhadoop101 ~]$ cat /etc/shells /bin/sh/bin/bash/sbin/nologin/bin/dash/bin/t…...

考研数学|《1800》《1000》《880》《660》最佳搭配使用方法

直接说结论:基础不好先做1800、强化之前660,强化可选880/1000题。 首先,传统习题册存在的一个问题是题量较大,但难度波动较大。《汤家凤1800》和《张宇1000》题量庞大,但有些题目难度不够平衡,有些过于简单…...

揭秘28BYJ-48步进电机的隐藏技能:用Arduino实现0.056°超高精度控制

揭秘28BYJ-48步进电机的隐藏技能:用Arduino实现0.056超高精度控制 在创客和硬件爱好者的世界里,28BYJ-48步进电机因其低廉的价格和广泛的应用而备受青睐。这款电机标称步距角为5.625,看似精度有限,但通过巧妙的驱动技术和算法优化…...

Grafana Dashboard权限精细化控制实战指南

1. Grafana权限控制基础:从入门到精通 刚接触Grafana时,我一度以为权限管理就是简单的"管理员能改、编辑者能看、查看者只能瞅瞅"。直到有一次,客户要求"开发团队能修改A仪表盘但不能碰B仪表盘,运维团队能看B但不能…...

深度解析OpenCode插件架构:构建企业级AI助手扩展平台

深度解析OpenCode插件架构:构建企业级AI助手扩展平台 【免费下载链接】opencode 一个专为终端打造的开源AI编程助手,模型灵活可选,可远程驱动。 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 在当今AI驱动的开发环境…...

SDMatte与版本控制:使用Git管理模型权重、训练脚本与实验数据

SDMatte与版本控制:使用Git管理模型权重、训练脚本与实验数据 1. 为什么机器学习项目需要版本控制 在SDMatte这类图像处理模型的开发过程中,我们经常遇到这样的困扰:上周训练的那个效果最好的模型权重文件找不到了;修改了训练脚…...

全平台数据采集工具:BarrageGrab直播弹幕实时抓取解决方案

全平台数据采集工具:BarrageGrab直播弹幕实时抓取解决方案 【免费下载链接】BarrageGrab 抖音快手bilibili直播弹幕wss直连,非系统代理方式,无需多开浏览器窗口 项目地址: https://gitcode.com/gh_mirrors/ba/BarrageGrab 在数字直播时…...

SUPER COLORIZER项目实战:使用LaTeX撰写技术报告与效果论文

SUPER COLORIZER项目实战:使用LaTeX撰写技术报告与效果论文 你是不是也遇到过这种情况?辛辛苦苦做完了SUPER COLORIZER的实验,效果数据也整理好了,但一到写报告或论文的时候就头疼。用Word吧,格式调整起来太麻烦&…...

Pixel Dream Workshop 团队协作:基于 GitHub 管理提示词库与生成资产

Pixel Dream Workshop 团队协作:基于 GitHub 管理提示词库与生成资产 1. 创意协作的痛点与解决方案 在数字创意领域,团队协作往往面临诸多挑战。创意想法难以系统化管理,优秀提示词散落在各个成员手中,生成参数缺乏统一标准&…...

Mac上React Native 0.72.5集成开源鸿蒙SDK,CMakeLists路径配置避坑指南

Mac上React Native 0.72.5集成开源鸿蒙SDK的CMakeLists路径配置实战指南 如果你是一名在Mac上使用React Native进行跨平台开发的工程师,最近可能对开源鸿蒙(OpenHarmony)的跨平台支持产生了兴趣。本文将带你深入解决一个特别棘手的问题——在…...

5个技巧让旧MacBook Pro重获新生:OpenCore Legacy Patcher完全指南

5个技巧让旧MacBook Pro重获新生:OpenCore Legacy Patcher完全指南 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 随着科技的快速迭代,许多经典Ma…...

用Multisim/TINA-TI仿真带你玩转一阶到二阶有源滤波器:从传递函数到实际频响曲线全验证

从仿真到实践:一阶与二阶有源滤波器的可视化验证指南 在模拟电路设计中,滤波器是信号处理的基础模块。许多初学者虽然能推导传递函数,却难以将理论公式与实际电路行为建立直观联系。本文将用Multisim和TINA-TI两款主流仿真工具,带…...