解决ingress-nginx反向代理在监听非80端口时候跳转问题以及Nginx

ingress-nginx配置

默认ingress-nginx 代理重定向是OFF

1
2
[root@centos-master ~]# kubectl exec -it nginx-ingress-controller-1971110253-0rcjw  -n kube-system -- cat /etc/nginx/nginx.conf   | grep "proxy_redirect" | head -n 1
proxy_redirect off;

ingress代理重定向配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: ${projectSvc}
annotations:
nginx.ingress.kubernetes.io/proxy-redirect-from: "test.cn:9090"
nginx.ingress.kubernetes.io/proxy-redirect-to: "test.cn:9090"
spec:
rules:
- host: ${projectUrl}
http:
paths:
- path: /
backend:
serviceName: ${projectSvc}
servicePort: 80
- host: ${projectUrl/test.loca/test.cn}
http:
paths:
- path: /
backend:
serviceName: ${projectSvc}
servicePort: 80
  • 重点
1
2
nginx.ingress.kubernetes.io/proxy-redirect-from: "idcsec.com"
nginx.ingress.kubernetes.io/proxy-redirect-to: "idcsec.com"