删除Nginx proxy_pass中的查询字符串
是否可以在Nginx中使用proxy_pass删除查询字符串? 例如,我在以下位置调用我的nginx:删除Nginx proxy_pass中的查询字符串,nginx,Nginx,是否可以在Nginx中使用proxy_pass删除查询字符串? 例如,我在以下位置调用我的nginx: http://nginxproxy.com/api/v1/logout?session=123 并希望将此委托给: http://example.com/api/sessions/?_action=logout 没有查询字符串“session=123” 目前,我的设置只是将我传递的任何查询字符串添加到代理传递URL location /api/v2/logout { pro
http://nginxproxy.com/api/v1/logout?session=123
并希望将此委托给:
http://example.com/api/sessions/?_action=logout
没有查询字符串“session=123”
目前,我的设置只是将我传递的任何查询字符串添加到代理传递URL
location /api/v2/logout {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Session $arg_token;
proxy_pass http://example.com/api/sessions/?_action=logout;
}
我相信你可以用一个重写规则,比如:
rewrite ^(.*)$ $1?;
如果要删除
/api/v2/logout
上指定的任何查询字符串,请添加set$args”“代码>应该工作:
location /api/v2/logout {
set $args "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Session $arg_token;
proxy_pass http://example.com/api/sessions/?_action=logout;
}
你弄明白了吗?