用到Referer模块是因为一个网站没有用cdn,但是又要考虑图片防止盗链的问题,完全防止是不可能的,只是加个难度而已,并且还可以伪装referer,但既然用到了还是简单记录下吧。
nginx的http_referer模块默认应该都有,就不说怎么安装了。
有2种规则:
一、允许为空访问
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
valid_referers none blocked server_name
*.abc.com
www.abc.com/shop/
~\.google\.;
if ($invalid_referer) {
return 403;
#rewrite ^.*$ https://www.google.com;
}
}
二、为空不允许访问
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
valid_referers *.jingxialai.com;
if ($invalid_referer) {
return 403;
#rewrite ^.*$ https://www.google.com;
}
}
就是把none blocked删了,这样就不能在浏览器打开这张图片了。
referer的防盗链很简单,也很容易破解,如果你网站要求不严格,用这个也可以了,如果很严格再继续看看别的。
以后有机会了我会尝试下其他更复杂的防盗链配置,比如secure_link模块,也会记录下。
以上就是所有Nginx配置Referer模块防止图片盗链的内容,欢迎小伙伴们交流讨论。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。