Nginx代理端口丢失问题

     Kubernetes环境中在使用Nginx进行代理,在进行端口代理时,总是出现端口丢失的问题,例如访问

1
2
  
http://10.10.70.58:32007/demo

地址会跳转到 

1
http://10.10.70.58:32007/demo

查看代理配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
upstream archdemo {
        server 10.10.70.61:32007;
        server 10.10.70.62:32007;
}
server{
    listen 32007;
    location / {
        proxy\_pass         http://archdemo; 
        server\_name\_in\_redirect off;
        proxy\_set\_header X-Real-IP $remote\_addr;
        proxy\_set\_header REMOTE-HOST $remote\_addr;
        proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;
    }
}

这里经过“面向搜索引擎的编程“,解决该问题,在进行代理配置是需要使用以下配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
upstream archdemo {
        server 10.10.70.61:32007;
        server 10.10.70.62:32007;
}
server{
    listen 32007;
        server\_name\_in\_redirect off;
        proxy\_set\_header Host $host:$server\_port;
        proxy\_set\_header X-Real-IP $remote\_addr;
        proxy\_set\_header REMOTE-HOST $remote\_addr;
        proxy\_set\_header X-Forwarded-For $proxy\_add\_x\_forwarded\_for;
    location / {
        proxy\_pass         http://archdemo;
    }
}