Kubernetes - Ingress HTTP 升级 HTTPS 配置解决方案(新版本v1.21+)
之前我们讲解过 Kubernetes - Ingress HTTP 搭建解决方案,并分别提供了旧版本和新版本。如果连 HTTP 都没搞明白的可以先去过一下这两篇
- Kubernetes - Ingress HTTP 负载搭建部署解决方案_放羊的牧码的博客-CSDN博客
- Kubernetes - Ingress HTTP 负载搭建部署解决方案(新版本v1.21+)-CSDN博客
废话不多说,马上开始给大家带来今天如何从 HTTP 升级 HTTPS 的配置解决方案,特别是微信小程序等强制性要求用 HTTPS 调用必知必会~
全文提到的“域名”一词指的是用到的完整域名而不是顶级域名的意思,比如:你用到啊a.b.com,接下来所有的地方就是 a.b.com 而不是 b.com 以下阅读时注意,否则必掉坑;如果你用到就是 b.com 那就是 b.com 也不需要添油加醋~
开始教程(域名:api.app.com 为例)
1、检查将要配置的域名查看状态
- 检测地址:SSL状态检测

- Ps:因为还没配置到 K8S Ingress 上,所以肯定是不合规,等全部配置完成后,我们可以再回头验证
2、下载 HTTPS SSL 域名证书加密文件
在阿里云、腾讯云或者其他云上,直接下载即可(当然自己会生成也可以),我这边以腾讯云为例,如图所示,建议下载 Nginx 版本

这里有一个巨坑,就是我开头特别提醒的,就是在申请 SSL 证书的时候,需要填写域名,很多人以为填写顶级域名即可(除非业务是用到顶级域名) ,这里的原则是需要用到啥域名就填写完整的域名,除非有钱人直接购买泛域名证书,那我们另当别论,一般免费的只支持单域名噢~

- 因为我们用的是免费证书,所以这里填写的是“api.app.com”,而不是“app.com”
3、制作应用的 Secret
apiVersion: v1
kind: Secret
data:tls.crt: base64 encoded certtls.key: base64 encoded key
metadata:name: app-ssl-secretnamespace: default
type: kubernetes.io/tls
- 照抄即可,关键是要记住这里的 app-ssl-secret 这个名字,等下应用的 Ingress 需要用到
4、将 Secret 文件和 SSL 证书文件合体
假设第 3 步的 Secret 文件叫“app-ssl-secret.yaml”,将这个文件放到 SSL 证书文件夹里面,为的是和证书里的文件在同目录下,便于 kubectl 生成应用 secret。执行成功后再配置应用 Ingress 即可
kubectl create secret tls app-ssl-secret --cert=api.app.com_bundle.crt --key=api.app.com.key
5、配置 Ingress
注意:配置的是应用级的 Ingress,而不是 Ingress-Controller 噢~
如果已经配置过应用 Ingress,只需要关注 tls 配置即可,否则整个拿来把你!secretName 就是刚刚说的名字,注意 tls 里面的缩进,否则配置可能不生效,最恶心的时也不报错,所以配置好后,最好回头看一下刚刚配置的是否还在,否则会消失掉,掉坑过
还有一个坑是新版本 Ingress yaml 文件格式,我以为 secretName 正确写法是 secret:name: xxx(因为在 rules 里的 serviceName 掉坑过,DDDD),没想到它这里还是旧版本写法——secretName: xxx
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: ingress-szqynamespace: defaultannotations: kubernetes.io/ingress.class: "nginx"
spec:tls: # config SSL, if needn't remove it- hosts:- api.app.comsecretName: app-ssl-secretrules:- host: api.app.com # 外部可以访问的域名http:paths:- path: /pathType: Prefixbackend:service:name: app-server # app service nameport: number: 38080 # app service port
# 如果没配置过的话,需要执行
kubectl create -f nginx-ingress-controller-app-service.yaml
6、校验
最后,我们在通过刚开始的检测地址校验下,突然间发现……成功了~

- Ps:当然还有一种简单粗暴验证方案,就是通过 https 在浏览器里访问,如果是合规的就会出现一把安全锁,否则会提示不安全
相关文章:
Kubernetes - Ingress HTTP 升级 HTTPS 配置解决方案(新版本v1.21+)
之前我们讲解过 Kubernetes - Ingress HTTP 搭建解决方案,并分别提供了旧版本和新版本。如果连 HTTP 都没搞明白的可以先去过一下这两篇 Kubernetes - Ingress HTTP 负载搭建部署解决方案_放羊的牧码的博客-CSDN博客Kubernetes - Ingress HTTP 负载搭建部署解决方案…...
Verilog:写流水灯时遇到的问题
module flow_led(input sys_clk, //系统时钟50Mhz 周期0.02nsinput sys_rst_n, //系统异步复位,低电平有效output reg [3:0] led ); reg [24:0] cnt;//计数器计时0.5s250000000*0.02ns always(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)cnt <…...
操作系统第四章-存储器管理
4.1 内存的基本知识 4.1.1 逻辑地址和物理地址 逻辑地址又称为相对地址 物理地址又称为绝对地址 一. 逻辑地址 内存中有多个进程,相对地址是相对于进程的起始地址而言的地址. 二.物理地址 绝对地址是在整个内存下的地址 4.2 程序的装入和链接 引入:用户程序要在系统中运…...
org.springframework.cloud:spring-cloud-starter-openfeign:jar is missing详解
openfeign无法导入的问题 我感觉最近带的好几个新人在搭建springCloud基础框架的时候,会犯一个非常小的错误,导致进度卡住了。 这个错误就是Feign导入的错误: ‘dependencies.dependency.version’ for org.springframework.cloud:spring-c…...
Netty第一部
一、select和epoll原理分析 外设设备网卡、鼠标、键盘等通过总线写到内存中,中间就有DMA拷贝,操作系统怎么知道内存中有数据了,这就需要操作系统通过中断机制确定,如果有中断信号过来,cpu会首先打断用户程序执行&…...
【设计模式】第11节:结构型模式之“装饰器模式”
一、简介 装饰器模式主要解决继承关系过于复杂的问题,通过组合来替代继承。它主要的作用是给原始类添加增强功能。这也是判断是否该用装饰器模式的一个重要的依据。除此之外,装饰器模式还有一个特点,那就是可以对原始类嵌套使用多个装饰器。…...
Spire.doc读取模板文档,并在书签处插入内容
在书签位置插入文字 //加载模板文档 Document document new Document(Server.MapPath("~/File/评价结果.doc")); //创建书签导航器 BookmarksNavigator bn new BookmarksNavigator(document); //添加一个section到文档 Section newSec document.AddSection(); …...
性能测试实施流程,5个阶段给老板安排的明明白白!
性能测试分为5个阶段,分别是【需求调研阶段】→【测试准备阶段】→【测试执行阶段】→【测试报告阶段】→【测试总结阶段】。 1、需求调研阶段 需求调研分为两个步骤进行:需求调研、需求分析 需求调研 需求调研工作由性能测试实施人员牵头负责&#…...
【教程】R语言生物群落(生态)数据统计分析与绘图
查看原文>>>R语言生物群落(生态)数据统计分析与绘图实践 暨融合《R语言基础》、《tidyverse数据清洗》、《多元统计分析》、《随机森林模型》、《回归及混合效应模型》、《结构方程模型》、《统计结果作图》七合一版本方案 R 语言作的开源、自…...
数据库-用户权限管理
创建用户: create user testlocalhost identified by 123456; create user 创建用户的固定开头 testlocalhost test为用户名, localhost:新建用户可以在哪些主机上登录,即使可以使用IP地址,网段主机名都可以 identified by 1…...
十一、W5100S/W5500+RP2040树莓派Pico<ARP 地址解析>
文章目录 1 前言2 简介2 .1 什么是ARP?2.2 ARP的优点2.3 ARP工作原理2.4 ARP应用场景 3 WIZnet以太网芯片4 ARP网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 随着网络安全越来越受到重…...
可以直接在线制作电子画册的网站
随着互联网技术的发展,越来越多的人开始使用在线工具来制作电子画册。今天,小编就来介绍一款可以直接在线制作电子画册的网站,让你的电子画册更加精美、个性化和实用。 1.首先点击FLBOOK在线制作制作电子杂志平台 2.点击开始制作࿰…...
SortableJS:vuedraggable实现元素拖放排序
文档:https://sortablejs.github.io/Sortable/github:https://github.com/SortableJS/SortableVue2: https://github.com/SortableJS/Vue.DraggableVue3: https://github.com/SortableJS/vue.draggable.nextnpm https://www.npmjs.com/package/vuedragga…...
跟着Nature Communications学作图:纹理柱状图+添加显著性标签!
📋文章目录 复现图片设置工作路径和加载相关R包读取数据集数据可视化计算均值和标准差方差分析组间t-test 图a可视化过程图b可视化过程合并图ab 跟着「Nature Communications」学作图,今天主要通过复刻NC文章中的一张主图来巩固先前分享过的知识点&#…...
88. 合并两个有序数组、Leetcode的Python实现
博客主页:🏆李歘歘的博客 🏆 🌺每天不定期分享一些包括但不限于计算机基础、算法、后端开发相关的知识点,以及职场小菜鸡的生活。🌺 💗点关注不迷路,总有一些📖知识点&am…...
视频列表:点击某个视频进行播放,其余视频全部暂停(同时只播放一个视频)
目录 需求实现原理实现代码页面展示 需求 视频列表:点击某个视频进行播放,其余视频全部暂停(同时只播放一个视频) 实现原理 在 video 标签添加 自定义属性 id (必须唯一)给每个 video 标签 添加 play 视频播放事件播放视频时&…...
论文-分布式-共识,事务以及两阶段提交的历史描述
这是一段关于一致性,事务以及两阶段提交的历史的描述阅读关于一致性的文献可能会有些困难,因为: 各种用语在不断的演化着(比如一致性<consensus>最初叫做协商<agreement>); 各种研究成果并不是以一种逻辑性的顺序产生…...
[100天算法】-二叉树剪枝(day 48)
题目描述 给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1。返回移除了所有不包含 1 的子树的原二叉树。( 节点 X 的子树为 X 本身,以及所有 X 的后代。)示例1: 输入: [1,null,0,0,1] 输出: [1,null,0,null,1]示例2: 输入: […...
常用编程语言排行与应用场景汇总(2023.10)
文章目录 编程语言排行一、Python二、C三、C四、Java五、C#六、JavaScript七、VB(Visual Basic)八、PHP九、SQL十、ASM(Assembly Language)十一、Go十二、Scratch十三、Delphi/Object Pascal十四、MATLAB十五、Swift十六、Fortran…...
基于 MySQL 多通道主主复制的机房容灾方案
文章中介绍了多种 MySQL 高可用技术,并介绍了根据自身需求选择多通道主主复制技术的过程和注意事项。 作者:徐良,现任中国移动智慧家庭运营中心数据库高级经理,多年数据库运维优化经验,历任华为、一线互联网公司高级 D…...
Laravel3.x:PHP框架的经典里程碑
Laravel 3.x 是框架发展历程中的重要版本,主要特性包括:1. 路由系统支持闭包路由定义:Route::get(user/profile, function() {return View::make(profile); });支持基础路由参数:Route::get(user/(:num), function($id) {// 处理逻…...
【PZ-ZU47DR-KFB】璞致FPGA ZYNQ UltraScalePlus RFSOC QSPI Flash 固化实战指南与疑难解析
1. 认识璞致PZ-ZU47DR-KFB开发板与QSPI Flash固化 第一次拿到璞致PZ-ZU47DR-KFB开发板时,我就被它的硬件配置震撼到了。这块板子搭载的是Xilinx ZYNQ UltraScale RFSoC XCZU47DR芯片,集成了4核Cortex-A53处理器和FPGA可编程逻辑,还自带8通道5…...
3个步骤掌握抖音评论数据采集:零基础用户的高效解决方案
3个步骤掌握抖音评论数据采集:零基础用户的高效解决方案 【免费下载链接】TikTokCommentScraper 项目地址: https://gitcode.com/gh_mirrors/ti/TikTokCommentScraper 在当今数据驱动的时代,高效获取用户反馈和市场洞察变得至关重要。本文介绍的…...
AI 任务做到一半崩了怎么办?Checkpoint 救命指南
点击上方 前端Q,关注公众号回复加群,加入前端Q技术交流群上一篇讲了循环防护,解决了"Agent 跑不停"的问题。但还有一个同样头疼的问题: Agent 跑到一半,崩了。 网络抖动、API 限流、服务器重启、用户刷新页面…...
从安防到自动驾驶:红外-可见光融合技术落地避坑指南
从安防到自动驾驶:红外-可见光融合技术落地避坑指南 在智能安防和自动驾驶领域,夜间或恶劣天气条件下的视觉感知一直是技术难点。红外与可见光图像融合(IVIF)技术通过结合两种模态的优势——可见光的高分辨率纹理和红外成像的环境…...
元域的演进式架构:从“大而全”陷阱到“城市扩展”式敏捷构建
摘要 很多企业在构建数字化平台时,陷入“大而全”的陷阱:试图一次性设计所有功能,结果项目周期漫长、成本高昂、上线即落后。元域的建设同样面临这一风险。本文提出元域的演进式架构,以模块化、插件化、事件驱动、配置驱动四大设…...
别再只会用OpenAI库了!用Requests库手把手教你调用硅基流动大模型API(附完整错误处理)
深入解析Requests库调用大模型API的工程化实践 在当今AI技术快速发展的背景下,大语言模型(LLM)已成为开发者工具箱中不可或缺的一部分。虽然OpenAI库提供了便捷的封装,但直接使用Requests库进行API调用能带来更大的灵活性和控制力。本文将深入探讨如何通…...
Zotero与OneDrive云存储附件的高效整合方案(Zotero+OneDrive)
1. 为什么选择ZoteroOneDrive组合管理文献附件 作为一名长期与学术文献打交道的科研工作者,我深知文献管理工具的重要性。Zotero作为一款开源文献管理软件,其强大的文献收集、整理和引用功能深受研究者喜爱。但在实际使用中,文献附件的存储问…...
类型声明不再“形同虚设”:PHP 8.9运行时类型验证增强如何让CI失败率下降67%?
第一章:PHP 8.9类型系统增强的演进背景与核心价值PHP 类型系统自 PHP 7 引入标量类型声明和返回类型以来,持续向静态可分析、运行时安全、开发者友好的方向演进。PHP 8.9 并非官方已发布的版本(截至 2024 年,PHP 最新稳定版为 8.3…...
iOS工程师核心技术深度解析:音视频、Runtime、网络与并发实战
摘要: 本文深入探讨现代iOS工程师所需的核心技术栈,特别是围绕音视频处理、Objective-C Runtime机制、TCP/IP网络协议栈、多线程并发编程等关键领域。结合招聘岗位职责,详细剖析技术原理、最佳实践、性能优化策略及面试考察要点,旨在为开发者提供全面的技术提升路径和面试准…...
