当我通过proxy_pass指令移交请求时,在某些情况下需要更改nginx $request_method
变量。
我当时正在考虑使用类似map
指令的内容:
map $request_method $request_method {
default $request_method;
DELETE POST;
PUT POST;
}
但是,有两个问题:
如何更改proxy_pass的$request_method
?
答案 0 :(得分:0)
有一条指令proxy_method
。
您将需要通过map
声明的另一个变量(是,在server
级别):
map $request_method $my_proxy_method {
default $request_method;
DELETE POST;
PUT POST;
}
然后在您的location
中:
proxy_method $my_proxy_method;
请注意,Nginx变量的计算是延迟的,因此,如果您还有很多其他位置,则仅对此一个位置进行my_proxy_method
的计算。