Nginx配置valid_referers参数详解

valid_referers介绍

1

valid_referers参数是Nginx自带参数,用于检查url中refer参数的状态

1
2
3
Syntax:valid_referers none | blocked | server_names | string ...;
Default:—
Context:server, location123

共有4种值可以使用,none、blocked、server_names、string

none //直接访问url,而不使用任何网站或链接的跳转,$http_referer变量的值是空的。

blocked //请求标头中存在“ Referer”字段,但其值已被防火墙或代理服务器删除;这些值是不以“ http://”或“ https://”开头的字符串;

字符串 //配置域名列表,支配通配符、正则表达式写法。

使用方法示例

1
2
3
4
5
valid_referers  none  blocked *.cn2.liuliu1.com;
      if ($invalid_referer) {
        #rewrite   ^/   http://cn2.liuliu1.com/;
        return   403;
      }

释义:如果"refer为空"、或"refer不以http/https开头"、或"域名为cn2.liuliu1.com的server_name" 都是有效的refer,也即valid_referers的值为0(允许访问),除此之外为1(返回403)。



登录 注册