语法:valid_referers [none|blocked|server_names]

使用字段:server, location

这个指令在referer头的基础上为 $invalid_referer 变量赋值,其值为0或1。

可以使用这个指令来实现防盗链功能,如果valid_referers列表中没有Referer头的值, $invalid_referer将被设置为1。

参数可以使如下形式:

none 意为不存在的Referer头(表示空的,也就是直接访问,比如直接在浏览器打开一个图片)

blocked 意为根据防火墙伪装Referer头,如:“Referer: XXXXXXX”。

server_names 为一个或多个服务器的列表,0.5.33版本以后可以在名称中使用“*”通配符。

举例:

location /chat/ { 
  valid_referers none blocked so.com *.so.com; 
  if ($invalid_referer) { 
    return 403; 
  } 
}