centos服务器下nginx图片防盗链设置方法

lihangorz 2019-04-17

做运维的朋友经常会有一些烦恼,比如网站总是被人抄袭,比如网站总是被人引用上面的图片,虽然一张图两张图,并不耗费很多流量,但一旦引用的人多了,这个还是比较废流量的。

防盗链就是禁止其他网站引用自己网站资源而做的一系列设置,优点就不需要说了,绝多数就是防止资源浪费,特别是有宽带、流量限制的空间如果不做一些 限制可能就光引用自己网站图片、视频等等资源可能会消耗很大一部分流量。本文就简单的说一下在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 *.85v5.com *.91aiche.cn *.juuzhong.com; 
    if ($invalid_referer){ 
        rewrite ^/ http://centoscn.com/images/logo.gif; 
    } 
 }

第3步:重启Nginx

把保存网站配置文件上传并覆盖,到终端执行/etc/init.d/nginx reload重新启动nginx即可生效。

配置解释

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { 
    expires 30d;
    #在客户浏览器缓存30天 
    access_log off; 
    #以上扩展名文件(gif|jpg|jpeg|png|bmp|swf)不写入日志文件中。 
    valid_referers none blocked *.85v5.com *.91aiche.cn *.juuzhong.com; 
    #valid_referers none blocked允许访问的域名站点,后台就是跟着域名多个域名空格隔开。 
    #none 匹配没有Refer的访问,简单的说就是直接用URL访问这些扩展名的资源。 
    #blocked 支持域名前缀。 
    #除了允许直接访问的域名外,其他域名直接访问就直接显示下面的这种图片。 
    if ($invalid_referer){ 
      rewrite ^/ http://centoscn.com/images/logo.gif; 
    }
}

这样设置过后,别人想要引用你网站里面的图片时候,就会发现,引用出来的图片都不是想要的了。

相关推荐