1、配置资源盗链配置在location内部
location ~* \.(gif|jpg|png|swf|flv|css|js|jpeg)$ {
root html;
valid_referers none blocked *.wg.com; #只允许以.wg.com结尾的域名访问,否则报错
if ($invalid_referer) {
return 404;
}
}
下面分析一下这段代码:
~* \.(jpg|gif|swf)$:这段正则表达式表示匹配不区分大小写,以.jpg或 .gif 或 .swf结尾的文件;
valid_referers:设置信任的网站,可以正常使用图片;
none:浏览器中referer为空的情况,就是直接在浏览器访问图片;
blocked:浏览器中referer不为空的情况,但是值被代理或被防火墙删除了,这些值不以http://或https://开头
后面的网址或者域名:referer中包含相关字符串的网址。
if语句:如果链接的来源域名不在valid_referers所列出的列表中,$invalid_referer为1,则执行后面的操作,即进行重写或返回403页面。
2、测试
cat /etc/hosts
ip地址 主机名 域名
10.0.0.30 node1 aa.wg.com
10.0.0.30 node1 www.aa.com
10.0.0.31 node2 www.bw.com
都能ping同
访问
证明
只允许以.wg.com结尾的域名访问