nginx subs_filter无法同时在nginx.conf和vhost文件配置的问题

Z先森 2018-11-27 PM 1372℃ 0条

场景

nginx开启subs_filter模块后,可以通过subs_filter对网站内容进行替换,很方便,例如:

subs_filter 防火墙 防火措施 gir;
subs_filter aaa bbb gir;

问题

当通过nginx.conf配置了subs_filter之后,再在vhosts站点文件里面也配置subs_filter的话,会使nginx.conf的subs_filter对该站点不生效,只生效vhost内配置的。

解决办法

与其说是解决办法不如说是规避手段,规避这种情况的发生可以将subs_filter统一写到配置文件里面,然后在nginx.conf写include来加载配置文件,配置文件里面通过if判断来区分哪个站点需要用到哪一条subs_filter
例:
cat subs_filter.conf

subs_filter 防火墙 防火措施 gir;
subs_filter aaa bbb gir;
if (xxxx) {
    subs_filter 百度 谷歌 gir;
}

cat nginx.conf

include subs_filter.conf
标签: subs_filter

如无特殊说明,本博所有文章均为博主原创。

评论啦~