刚折腾半天终于搞定了lnmp的图片防盗链,其实网上有很多lnmp实现图片防盗链的文章,但是都没有提到关键的一步,导致很多朋友明明按照教程说的操作了,却没有效果。
现在把我的过程分享出来,让大家少走一些弯路,重点处已标红。
1.确定要修改的文件
如果你安装lnmp后,没有新建站点,而是使用默认站点,那你需要修改的文件是 /usr/local/nginx/conf/nginx.conf
如果你新建了站点,那么要修改的文件是 /usr/local/nginx/conf/vhost/ 这个文件夹下面的相应文件,通常应该是 域名.conf
2.根据你的情况,下载或者打开相应的.conf文件,注意先备份
找到下面内容
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; }
把它修改为类似下面的样子:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { valid_referers none blocked www.domin.com domin.com; if ($invalid_referer) { rewrite ^/ http://otherdomin.com/404.jpg; #return 404; } expires 30d; }
你要修改的地方
gif|jpg|jpeg|….,这些是你想要屏蔽的文件类型,可以根据情况修改
domin.com www.domin.com,修改为你网站的域名,或者是你允许显示你网站图片的其他网站域名,注意中间用空格分开,而不是逗号。
http://otherdomin.com/404.jpg,显示给盗链者看到的图片,注意不要放到domin.com上,因为放盗链的作用,那样对方是看不到的,可以上传到一些支持外联的网络相册上。
3.保存修改后的文件,上传覆盖原始文件
需要重新启动lnmp后才能看到效果,命令是
停止lnmp:/root/lnmp stop
启动lnmp:/root/lnmp start