k8s-nginx-ingress配置https跳转
启用 HTTP 到 HTTPS 的重定向 在 Ingress 资源中添加以下注解,以启用从 HTTP 到 HTTPS 的自动重定向: nginx.ingress.kubernetes.io/ssl-redirect: "true" 这会将所有 HTTP 请求重定向到 HTTPS,返回状态码为 308(Permanent Redirect)。
强制重定向到 HTTPS 如果需要在没有 TLS 证书的情况下仍然强制重定向到 HTTPS(例如在 SSL 卸载的场景中),可以使用以下注解: nginx.ingress.kubernetes.io/force-ssl-redirect: "true" 这会确保即使没有 TLS 配置,HTTP 请求也会被重定向到 HTTPS。
完整 ingress-yaml文件
[root@k8s-master01 /root/k8s-1.27.1/document/halo2]# ll
总用量 36
-rw-r--r-- 1 root root 59 1月 23 15:29 01-ns-cm.yaml
-rw-r--r-- 1 root root 211 1月 23 15:29 02-halo2-pvc-data.yaml
-rw-r--r-- 1 root root 216 1月 23 15:29 02-halo2-pvc-mysql-bak.yaml
-rw-r--r-- 1 root root 221 1月 23 15:29 02-halo2-pvc-mysql-data.yaml
-rw-r--r-- 1 root root 1575 1月 23 15:29 03-configmap-mysql.yaml
-rw-r--r-- 1 root root 1869 1月 23 20:30 04-halo2-mysql.yaml
-rw-r--r-- 1 root root 2017 1月 23 23:21 05-halo2.yaml
-rw-r--r-- 1 root root 1208 1月 26 17:52 06-ingress-halo.yaml
drwxr-xr-x 2 root root 152 1月 23 15:29 alist2
-rw-r--r-- 1 root root 1343 1月 23 15:29 my.cnf
[root@k8s-master01 /root/k8s-1.27.1/document/halo2]# cat 06-ingress-halo.yaml
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: halo2-ingress
namespace: halo2
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "2000m"
nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
nginx.ingress.kubernetes.io/ssl-redirect: "true" # 启用 HTTP 到 HTTPS 的重定向
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" # 强制重定向到 HTTPS
spec:
ingressClassName: nginx
rules:
- host: halo2.yq.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: halo2-node-svc
port:
number: 8090
更新ingress配置
[root@k8s-master01 /root/k8s-1.27.1/document/halo2]# kubectl apply -f 06-ingress-halo.yaml
ingress.networking.k8s.io/halo2-ingress unchanged实现效果

评论区