Nginx有条件地更改请求标头值

时间:2018-12-04 22:03:42

标签: if-statement nginx http-headers nginx-reverse-proxy

如何根据nginx反向代理中的另一个标头值有条件地更改请求标头值?

1 个答案:

答案 0 :(得分:0)

您可以使用nginx ngx_http_map_module。 这里是一个很好的例子-Mapping Headers in Nginx

基本上,您需要将请求的标头(在以下配置中使用from_header)映射到新标头(在示例中为to_header),然后再使用proxy_set_header

map $http_from_header $to_header {
    default a;
    value_1 b;
    value_2 c;
}

server {
....

    location / {
        include proxy_params;
        proxy_set_header To_Header $to_header;
   }
}

Nginx接受所有HTTP标头,将其小写,然后将破折号转换为下划线。它们可以作为以$ http_开头的变量访问。

那样,您应该会得到所需的东西。

祝你好运