做运维的朋友经常会有一些烦恼,比如网站总是被人抄袭,比如网站总是被人引用上面的图片,虽然一张图两张图,并不耗费很多流量,但一旦引用的人多了,这个还是比较废流量的。
防盗链就是禁止其他网站引用自己网站资源而做的一系列设置,优点就不需要说了,绝多数就是防止资源浪费,特别是有宽带、流量限制的空间如果不做一些 限制可能就光引用自己网站图片、视频等等资源可能会消耗很大一部分流量。本文就简单的说一下在nginx服务器上如何做防盗链设置。
nginx防盗链代码
第1步:下载nginx网站配置文件。
有些网友可能是直接到服务器中使用vi或ee编辑器,另外网站配置有些可能是在nginx.conf文件中或是在vhost目录下,具体要看nginx.conf文件是如何配置的了。
第2步:添加以下代码,并保存。
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
access_log off;
valid_referers none blocked *.aspku.net www.aspku.net *.youdao.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk image.soso.com bing.com cn.bing.com image.baidu.com;
if ($invalid_referer){
rewrite ^/ http://www.zzvips.com/images/return.gif;
}
}
第3步:把保存网站配置文件上传并覆盖,到终端执行
/etc/init.d/nginx reload重新启动nginx即可生效。
因为系统不同nginx安装目录可能也不完全相同,简单的就说是重新启动nginx服务即可。
nginx防盗链代码说明:
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;#在客户浏览器缓存30天
access_log off; #以上扩展名文件(gif|jpg|jpeg|png|bmp|swf)不写入日志文件中。
valid_referers none blocked *.zzvips.com www.zzvips.com www.aspku.net *.youdao.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk image.soso.com bing.com cn.bing.com image.baidu.com;
#valid_referers none blocked允许访问的域名站点,后台就是跟着域名多个域名空格隔开。
#none 匹配没有Refer的访问,简单的说就是直接用URL访问这些扩展名的资源。
#blocked 支持域名前缀。
#除了允许直接访问的域名外,其他域名直接访问就直接显示下面的这种图片。
if ($invalid_referer){
rewrite ^/ http://www.zzvips.com/images/return.gif;
}
这样设置过后,别人想要引用你网站里面的图片时候,就会发现,引用出来的图片都不是想要的了。