背景:前端代理到网关域名,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;

}
Last modification:July 30, 2024
如果觉得我的文章对你有用,请随意赞赏