Skip to content
On this page

Nginx 防盗链

利用 Http Referer 实现防盗链,可以指明访问来源,让 Nginx 服务器进行判断是否返回资源。 Referer介绍: HTTP Referer 教程

校验 referer 的选项

  • none 检测 Referer 头域不存在的情况
  • blocked 检测 Referer 头域的值被防火墙或者代理服务器删除或伪装的情况。这种情况该头域的值不以 http://https:// 开头
  • server_names 设置一个或多个 URL ,检测 Referer 头域的值是否是这些 URL 中的某一个
nginx
# 只允许 192.168.44.101 访问资源
server {
    listen 80;
    server_name  www.briver.com;
    
    location ~*/(js|img|css) {
      valid_referers 192.168.44.101;
      if ($invalid_referer) {
        return 403;
      }

      root html;
      index index.html index.htm;
    }
}
nginx
# 允许 192.168.44.101,和没有 referer 访问资源
server {
    listen 80;
    server_name  www.briver.com;
    
    location ~*/(js|img|css) {
      valid_referers none 192.168.44.101;
      if ($invalid_referer) {
        return 403;
      }

      root html;
      index index.html index.htm;
    }
}