我想代理这样的请求:
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;
}
Run Code Online (Sandbox Code Playgroud)
您应该能够稍微简化您的配置:
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17223 次 |
| 最近记录: |