最新消息:点击查看大S的省钱秘笈

Nginx防盗链配置备份

网络相关 Slyar 126浏览 0评论

文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

因为文章被转载的比较多,所以服务提供商每个月送的流量现在能用掉一半多,我估计如果我继续写技术文的话,用不了多久我就要在升级服务器和配置防盗链上做出选择了。不过至少暂时还不用启用防盗链。

Nginx的防盗链还是比较好做的,备份一下吧。主要针对图片防盗链,因为我一般不在服务器上直接提供文件下载。

1、如果对全站图片做防盗链,至少需要一个另外的域名存放指向图片。因为如果对全站图片做了防盗链,包括盗链提示图片在内的所有图片都不可能显示。

此类情况修改 /usr/local/nginx/conf/nginx.conf 文件

2、对单独域名配置图片防盗链,个人比较推荐,一是便于控制,二是可以重新创建一个域名在同服务器上用来存放盗链提示图片。

此类情况修改 /usr/local/nginx/conf/vhost/你自己域名.conf 文件

3、你需要准备一张盗链提示图片,放在其它的服务器或者其它域名下,例如下面这个。我自己做的哈哈哈,双语显示是不是很装逼

Warning Hotlinking

4、在配置文件里找到类似下面location...jpg...这样的代码,然后照着改吧,我慢慢解释

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
access_log off;
valid_referers none blocked *.slyar.com *.jetfond.com *.youdao.com *.zhuaxia.com *.xianguo.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk *.bloglines.com image.soso.com bing.com cn.bing.com image.baidu.com *.feedburner.com *.feedsky.com;
if ($invalid_referer)
{
rewrite ^/ http://kvm.slyar.com/slyar_hotlinking.png;
}
}

expires 30d; //客户端缓存时间,无关盗链

access_log off; //不记录图片访问日志,无关盗链

valid_referers none blocked... //允许访问图片的站点,blocked支持前缀通配符。none需要解释一下,如果你不知道HTTP Refer是什么,那就不知道好了,如果你知道,那这个none就表示匹配没有Refer的访问,通俗点说就是直接用URL访问的,这里我写着表示允许,如果你连直接输入图片地址都不允许看到图片的话,可以删掉这个参数

rewrite ^/ http://kvm.slyar.com/slyar_hotlinking.png; //盗链请求跳转到某个图片或者某个页面,随便

5、:wq保存退出

6、重新加载Nginx配置文件,done

/etc/init.d/nginx reload

转载请注明:Slyar Home » Nginx防盗链配置备份

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. 还是设置防盗链比较好,否则遇到一些不负责任的推广公司把你的图片放到大网站的页面里。骗流量钱就不好了。
    jinga503343年前 (2013-10-10)回复
  2. 恩,图片确实比较耗流量,不过我目前一个月50G还够用,可以添加图片水印,这样别人就帮你免费宣传了,对吧少年.
    HeHe.wang|52coder.net3年前 (2013-09-15)回复