nginx配置防盗链


由于打算把图片放在自己的服务器上,所以配置防盗链也成了一个必须完成的任务。

在网上搜了一下,大致上是利用nginx检测http请求头中的referer参数来判断是否返回图片。

location / {
    root html/img;
    valid_referers none blocked  *.example.com example.com ;
    if ($invalid_referer) {
        return 403;
        break;
     }
     access_log off;
}

重点在第3行"vaild_referers"的设置。

根据nginx官方文档 的解释,"valid_referers"的几个参数实际上是几个条件。

"none"参数表示http header中没有referer,"blocked"表示http header中有referer但被防火墙或者代理服务器删除, 后面指定的域名表示在referer中匹配到相应的域名。只要满足以上任意一条,$invalid_referer变量则变为空字符串, 否则为1。 可以通过判断该变量的值来确定请求是否合法,达到防盗链的目的。


文章作者: LouisZ
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LouisZ !
  目录