简介
K8S的Ingress启用Https
准备:
- 一个https的证书,阿里云可以免费申请一个单域名证书,有效期一年
步骤:
- 创建 secret
$unzip unzip 3937326_app.*****.com_nginx.zip #该文件就是阿里云上下载下来的证书 $mv 3937326_app.*****.com.pem tls.crt $mv 3937326_app.*****.com.key tls.key $kubectl -n prod create secret tls app-*****-com-secret --key ./tls.key --cert ./tls.crt
- 在Ingress中引用secret,配置https
--- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: *****-prod namespace: prod labels: app: *****-prod annotations: nginx.ingress.kubernetes.io/rewrite-target: / #重写路径 nginx.ingress.kubernetes.io/ssl-redirect: 'true' #http 自动转https nginx.ingress.kubernetes.io/proxy-connect-timeout: "600" #修改代理超时时间,默认是60s nginx.ingress.kubernetes.io/proxy-read-timeout: "600" nginx.ingress.kubernetes.io/proxy-send-timeout: "600" spec: tls: - hosts: - 'app.*****.com' secretName: app-*****-com-secret rules: - host: "app.*****.com" http: paths: - path: / backend: serviceName: qwer-mobile-prod servicePort: 80
- 通过https://app.*****.com访问服务