k8s ingress 控制http是否跳转到https
k8s ingress-nginx 默认是http 强制跳转到https的,可以通过Ingress 的annotations进行配置,nginx.ingress.kubernetes.io/ssl-redirect: ‘false’ # true 为强制跳转,完整配置如下:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: pay-yx111-com-php-nginx-ingress-dev
namespace: dev
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/ssl-redirect: 'false' # true 为强制跳转
nginx.ingress.kubernetes.io/proxy-connect-timeout: "5"
nginx.ingress.kubernetes.io/proxy-send-timeout: "60"
nginx.ingress.kubernetes.io/proxy-read-timeout: "60"
nginx.ingress.kubernetes.io/proxy-buffering: "on"
nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
nginx.ingress.kubernetes.io/proxy-buffers-number: "8"
nginx.ingress.kubernetes.io/proxy-max-temp-file-size: "0"
nginx.ingress.kubernetes.io/proxy-next-upstream: "error timeout invalid_header http_500 http_502 http_503 http_504"
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_headers "proxy_busy_buffers_size: 64k";
more_set_headers "proxy_temp_file_write_size: 64k";
#more_set_headers "Content-Security-Policy: upgrade-insecure-requests;connect-src *";
spec:
tls:
- hosts:
- pay.yx111.com
secretName: pay-yx111-com
rules:
- host: pay.yx111.com
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: pay-yx111-com-nginx-svc-dev
port:
number: 80