这里写目录标题
申请证书
登录阿里云,找到【SSL证书】,点击申请证书
如果没有创建证书资源包,需要建立证书资源包才能申请免费证书。
页面是这样的,待申请会显示20个,因为我已经建立一个了。
在点击【证书申请】
点击【确认】即可。
然后需要绑定域名。例如绑定【xxx.com】。
通常需要审核时间,大概几分钟就通过了,然后就可以下载了。
下载证书
选择Nginx证书下载。
会得到一个压缩包,包含两个文件。【xxx_xxx.key】和【xxx_xxx.pem】
创建Secret
把对应两个文件放到服务器上,使用以下命令,创建Secret
kubectl create secret tls xxx-secret \
--key=./xxx_xxx.com.key \
--cert=./xxx_xxx.com.pem \
-n xxx
命名空间可选
创建yaml配置文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: ssl-test
labels:
app: ssl-test
spec:
replicas: 1
template:
metadata:
name: ssl-test
labels:
app: ssl-test
spec:
containers:
- name: ssl-test
image: nginx:1.18.0
imagePullPolicy: IfNotPresent
restartPolicy: Always
selector:
matchLabels:
app: ssl-test
---
apiVersion: v1
kind: Service
metadata:
name: ssl-test
spec:
selector:
app: ssl-test
ports:
- port: 80
name: "web"
protocol: "TCP"
targetPort: 80
type: ClusterIP
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: ssl-test
annotations:
nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
nginx.ingress.kubernetes.io/proxy-body-size: "100m"
kubernetes.io/ingress.class: "nginx"
nginx.inaress.kubernetes.io/use-reaex: "true"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
tls:
- hosts:
- xxx.com
- secretName: xxx-secret
rules:
- host: xxx.com
http:
paths:
- path: /
backend:
serviceName: ssl-test
servicePort: 80
注意:nginx-ingress-controller配置文件说明地址:https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/
访问 xxx.com 即可。
配置域名解析
DNS解析 -> 找到一个域名 -> 添加记录
访问域名就可以了