Nginx负载均衡的upstream名,替换了页面的请求IP
一、背景:我们系统其中一个模块,需要利用Nginx的代理其他系统页面,请求是通过配置负载均衡到两台服务器上,所以配置了upstream。如下:
upstream name_stream {
server .*.***.***:9503;
server .*.***.***:8811;
},
然而浏览器请求的地址变成了 http://name_stream:30789/xxx
二、解决方案:
1、将地址的IP替换
2、将HTTS替换为HTTPS
配置如下:
location ~/xx/{
proxy_redirect http:// https://;
proxy_set_header HOST
h
o
s
t
:
host:
host:server_port;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
http://name_stream ;
};
就完美解决啦!!
有需要的可以加群 902236271哦,本人程序员一枚,遇到问题也可以相互交流进步!
三、代理Nginx ,css等文件报404找不到,需单独加配置,指定目录
例子: location /wybank {
alias /home/wy/html;
index index.html index.htm;
}
location ~ ^/wybank/.*.(gif|jpg|jpeg|png|bmp|swf|css|js|eot|svg|ttf|woff|woff2|properties|json)?$ {
root /home/wy/html/;
}