Fork me on GitHub

nginx---防止盗链

ngx_http_referer_module模块:
  用来阻止Referer首部无有效值的请求访问,可防止盗链
valid_referers none|blocked|server_names|string ...;
定义referer首部的合法可用值,不能匹配的将是非法值
  none:请求报文首部没有referer首部
  blocked:请求报文有referer首部,但无有效值
  server_names:referer首部中包含本主机名
  arbitrary_string:任意字符串,但可使用*作通配符
  regular expression:被指定的正则表达式模式匹配到的字符串,要使用~开头,例如: ~.*\.magedu\.com

    测试网站:www.test.com,www.test.org

    目前是test.org 盗链了https://www.test.com/a.jpg

  在被盗链的服务器上设置禁止盗链

修改被盗链的主机的配置文件

vim /etc/nginx/conf.d/test.conf 
valid_referers none block server_names *.test.com `\.google\. ~\.baidu\.;
        if ($invalid_referer) {
                return 403 "Forbidden Access";
                }                                                                                                                 
}    

通过谷歌百度过来的可以访问,其他不能

posted @ 2021-06-07 16:18  Alex-Lzy  阅读(84)  评论(0编辑  收藏  举报