Nginx 有条件地更改请求 header 值

Nginx change request header value conditionally

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

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

基本上你需要将请求的header(我在下面的配置中使用from_header)映射到新的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 headers,lower-cases 它们,并将破折号转换为下划线。它们可以作为以 $http_ 开头的变量访问。

这样你应该得到你需要的东西。

祝你好运