Kubernetes - Ingress HTTP 升级 HTTPS 配置解决方案(新版本v1.21+)

本文主要是介绍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+)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/323725

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP