背景:前端代理到网关域名,curl 、postman都是通的但是nginx转发不行!实际排查了十个小时左右。。。
原配置
location /pspd {
proxy_pass http://xxx.com;
proxy_set_header Host xxx.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
nginx 反向代理默认走的http 1.0版本, 但是 被反向代理的服务器是1.1版本的 !或者更高的!
location /关键词 {
proxy_http_version 1.1; //很重要!!!!
proxy_pass http://xxx.com;
proxy_set_header Host xxx.com;
//Host 请求头指明了请求服务器的域名/IP地址和端口号。很重要!因为目标可能多个nginx 服务虚拟机
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}