在位置块中使用它时继承 proxy_set_header

Nie*_* B. 6 nginx

我正在尝试在 Nginx 上设置一堆虚拟主机,并且我想在向上游传递请求之前设置一些标头。我有一些我总是想设置的标题,然后我有一些我想为选定的位置块设置的标题。

不幸的是,它似乎是Nginx的不允许proxy_set_header多层次的指令,因此,它只是将清除HTTP模块设置任何头。

Nginx 文档说明了以下内容proxy_set_header

允许重新定义或附加字段到传递给代理服务器的请求标头。该值可以包含文本、变量及其组合。当且仅当当前级别上没有定义 proxy_set_header 指令时,这些指令才从上一级继承

所以问题是……要么 Nginx 有一个令人失望的限制,要么我以错误的方式思考这个问题。

关于这个问题的惯用解决方案的任何想法?

Dan*_*ick 2

创建一个文件以包含在设置所需标头的每个块中。(因此是一个公共的 inc-http-headers.conf),您将其包含在 http 块以及需要公共标头的所有位置块中。