购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 牢记Context

Context是Nginx中每条指令都会附带的信息,用来说明指令在哪个指令块中使用,可以将Context 理解为配置环境。

每个指令都拥有自己的配置环境,如果把配置环境记错了,或者在设计时未考虑配置环境的作用,就很可能导致配置无法达到预期。举例来说,观察图3-1所示的根据请求参数定制响应头的逻辑。

图3-1 根据请求参数定制响应头的逻辑

根据图3-1的需求,有的读者可能会不假思索地写出如下代码:

但启动Nginx却出现如下报错信息:

通过阅读Nginx的官方Wiki可以找到出现错误的原因:

可知proxy_set_header所支持的配置环境(Context),只有http、server、location这3个指令块,不支持if语句。因此对于要用到的指令,使用前需要知道它的配置环境。 Dd5RwhUs0t0JwCvxzkUE+6Q182Z/0VFk+VJULkPt1vZAaVKmtiEDRcLC4ErDV1CS

点击中间区域
呼出菜单
上一章
目录
下一章
×