这类似于nginx url rewrite for reverse proxy,但我不知道应该如何将这个答案应用于我的情况。
我正在尝试重写反向代理的URL,以便当Nginx向上游服务器发出请求时/pathA/something
变为/pathB/something
。
location ~ /pathA(/|$) {
proxy_pass http://www.example.com;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
rewrite ^/pathA(.*) /pathB$1;
}
我尝试了这个,但是我得到了一个Nginx 404页面(不是 example.com 404页面)。
答案 0 :(得分:0)
我需要添加重定向(302)或永久(301):
location ~ /pathA(/|$) {
proxy_pass http://www.example.com;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
rewrite ^/pathA(.*) /pathB$1 permanent;
}