利用valid_referers指令防盗链
HTTP Referer是Header的一部分,当浏览器向Web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器借此可以获得一些信息用于处理,
而在nginx就已经帮我们提高了验证Referer的方法;
该指令"valid_referers"的语法:
- none : 允许没有http_refer的请求访问资源;
- blocked : 允许不是http://开头的,不带协议的请求访问资源;
- 180.76.118.162 : 只允许指定ip来的请求访问资源;
-
server{ listen 91; server_name 180.76.118.162; location ~* \.(jpg|gif|png) { root /usr/local/img; valid_referers none blocked 180.76.118.162; # if ($invalid_referer){ return 404; } } }
配置结束后重载nginx
/usr/local/nginx/sbin/nginx -s reload
测试