# 什么是静态资源盗链: # 你服务器上的一张图片,127.0.0.1/images/a.png # 别人的html页面可以直接通过<img src="127.0.0.1/images/a.png" />来进行显示。 # 如何通过Nginx防止资源盗链 # valid_referers指令:会通过查看请求头的referer内容自动和valid_referers指令设置的内容进行匹配, # 如果匹配到了就将$invalid_referer变量值设置为0,否者就设置为1,匹配的过程是不区分大小写的 # 语法:valid_referers nont | blocked | server_names | string # 默认值: 无 # 位置:server、location # none:如果请求头中的Referer为空,则允许访问 # blocked:Referer不为空,但是改制呗防火墙或者代理进行伪装过,如果不带"httpL//"、"https://"等协议的资源允许访问 # server_names:指定具体的域名或者ip # string:可以支持正则表达式和*的字符串。如果是正则表达式,需要以~开头标识。 valid_referers none bocked www.baidu.com 192.168.200.222 *.example.com example.* ~\.google\. if ($invalid_referer){ # 如果匹配到了就将$invalid_referer变量值设置为0,否者就设置为1,匹配的过程是不区分大小写的 return 403; # 403未找到资源 }