怎么塔建网站,wordpress 微信 登陆地址,南阳企业网站建设公司,手机app在哪里找之前我们讲解过 Kubernetes - Ingress HTTP 搭建解决方案#xff0c;并分别提供了旧版本和新版本。如果连 HTTP 都没搞明白的可以先去过一下这两篇 Kubernetes - Ingress HTTP 负载搭建部署解决方案_放羊的牧码的博客-CSDN博客Kubernetes - Ingress HTTP 负载搭建部署解决方案… 之前我们讲解过 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 --certapi.app.com_bundle.crt --keyapi.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 neednt 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 在浏览器里访问如果是合规的就会出现一把安全锁否则会提示不安全