nginx - 使用继承为特定位置添加模块

时间:2017-05-24 07:03:12

标签: nginx

我想为特定位置增加location参数。

我试图在location / { proxy_pass http://dashboard-app; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto https; proxy_cache_bypass $http_upgrade; location /admin/upload { client_max_body_size 10m; } }

中做类似的事情
proxy_pass

问题是/admin/upload位置中没有404或所有其他模块,所以我为该路线获得了#N/A

我知道我可以在该位置添加所有模块,但它只是重复的代码,对我来说似乎毫无用处。

如何将基本位置模块继承到上传位置conf?

1 个答案:

答案 0 :(得分:0)

哪些模块是继承的,哪些不是?

此问题在文档中并未明确表达。您需要分别检查每个指令。

通常,不会继承命令,会继承 options ,会继承选项数组(“数组类型指令”),但全部替换(例如,在降序中无法访问add header,所有标头都将被替换)。

请参阅:Directive Inheritance in Nested Location Blocks个答案。

如何避免代码重复?

nginx 方面,只能使用include指令。 另外,recommended way将使用第三方工具(例如模板引擎)从简明的来源生成nginx配置。