Nginx

是否可以使用 header name 的變數在 NGINX 中設置代理標頭?

  • February 10, 2022

根據NGINX 文件

proxy_set_header field value允許重新定義或附加欄位到傳遞給代理伺服器的請求標頭。該可以包含文本、變數及其組合。

所以我可以

set $my_variable "some_value";
proxy_set_header x-my-header $my_variable;

無論如何可以為*field*參數使用變數,即標題名稱基於變數嗎?我希望能夠像配置 NGINX

set $my_variable "x-my-header";
proxy_set_header $my_variable "some_value";

當 nginx 文件沒有明確說明您可以將變數用於某些指令參數時,通常意味著您不能。特別是,您不能將變數用作 中的標頭名稱add_header以及proxy_set_header其他一些相關指令。但是,您可以使用第三方模組,例如lua-nginx-module通過ngx.req.set_header. 您可以查看包含上述模組的OpenResty捆綁包,並且正在為各種作業系統發行版打包。

引用自:https://serverfault.com/questions/1093196