Linux VPS主机Nginx和Apache环境下图片防盗链设置
导读
一般我们使用的VPS主机每月都有固定的流量,如果当月额度用完服务器可能会暂停,有些是需要额外支付费用的。即便是固定带宽不限制流量的服务器,占用太大的流量也会影响网站的访问速度。所以,我们在有必要的前提下可以设置服务器的图片或者其他静态资源防盗链。
在这篇文章中,整理我们常用的Nginx和Apache环境中设定防盗链的办法。
第一、Nginx防盗链
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
expires 30d;
access_log off;
valid_referers none blocked *.laobuluo.com server_names ~\.google\. ~\.baidu\.;
if ($invalid_referer) {
return 403;
}
}
将代码添加到当前站点Nginx配置文件.conf中,需要重启Nginx才可以生效。
第二、Apache防盗链
# 开启Rewrite模块
RewriteEngine On
# 定义要保护的文件夹,建议只要保护上传文件夹(/wp-content/uploads/)就可以
RewriteBase /wp-content/uploads/
#允许空的来源,因为用户可能手动输入图片网址
RewriteCond %{HTTP_REFERER} !^$ [NC]
#允许自己的网站访问啦
RewriteCond %{HTTP_REFERER} !laobuluo.com [NC]
#允许几个常用的在线阅读器的访问
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
#括号中的是要保护的文件拓展名,这里只保护了 gif,jpg,png,再加上出错时的图片地址
RewriteRule .*\.(gif|jpg|png)$ http://引用倒链跳转地址 [R,NC,L]
将脚本添加到当前.htaccess文件中生效。