Nginx proxy\u传递所有url参数
我想代理如下请求:Nginx proxy\u传递所有url参数,nginx,Nginx,我想代理如下请求: http://myproxy.com/api/folder1/result1?test=1,http://myproxy.com/api/folder3447/something?var=one 到等效目的地:http://destination.com/folder1/result1?test=1和http://destination.com/folder3447/something?var=one,实际上只会更改域,并保留所有子文件夹和参数 配置中的位置如下所示: loc
http://myproxy.com/api/folder1/result1?test=1
,
http://myproxy.com/api/folder3447/something?var=one
到等效目的地:http://destination.com/folder1/result1?test=1
和http://destination.com/folder3447/something?var=one
,实际上只会更改域,并保留所有子文件夹和参数
配置中的位置如下所示:
location ~* ^/api/(.*) {
proxy_pass http://destination.com/$1$is_args$args;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header Host $http_host;
}
您应该能够稍微简化配置:
location /api/ {
// Note the slash at end, which with the above location block
// will replace "/api/" with "/". This will not work with regex
// locations
proxy_pass http://destination.com/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
您应该能够稍微简化配置:
location /api/ {
// Note the slash at end, which with the above location block
// will replace "/api/" with "/". This will not work with regex
// locations
proxy_pass http://destination.com/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}