Nginx代理转发location配置的坑

Nginx

记录一次Nginx的巨坑,坑了一下午的时间

location /api {
            proxy_set_header  X-Real-IP        $remote_addr;
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass http://localhost:8080;
        }
location /api {
            proxy_set_header  X-Real-IP        $remote_addr;
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass http://localhost:8080/;
        }
location /api {
            proxy_set_header  X-Real-IP        $remote_addr;
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass http://localhost:8080/;
        }

就正确了, http://xxx:8080/xxx 查阅了网络,还有一种修改的方式,使用rewrite,但是这个属于重定向,并不符合我们的要求

location /api {
        proxy_set_header  X-Real-IP        $remote_addr;
        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        rewrite ^/api/(.*) http://localhost:8080/$1;
    }

但是上述方式如果和upStream进行联合使用的话,会导致无法解析upstream里面的内容

经验分享 程序员 微信小程序 职场和发展