免费提交网站流程:注册会员 -> 提交网站 -> 人工审核 -> 提升网站流量增加外链 -> 点入及点出一次即可排在首位
当前位置:汇聚吧导航 » 站长资讯 » 教程分享 » 建站知识 » 文章详细 订阅RssFeed

宝塔面板如何利用nginx服务真正设置图片防盗链规则

来源:汇聚吧导航 浏览:522次 时间:2021-07-02
Nginx设置防盗链的方法
下面为完整代码
  
   #SECURITY-START 防盗链配置 
   location ~ .*\.(jpg|jpeg|gif|png|js|css)$ 
   { 
       expires      30d; 
       access_log off; 
       valid_referers none blocked www.huijub.com huijub.com; 
       if ($invalid_referer){ 
       rewrite ^/ https://rmt.dogedoge.com/fetch/*****.jpg; 
          #return 404; 
       } 
   }


代码解释

location ~ .*\.(jpg|jpeg|gif|png|js|css)$

(jpg|jpeg|gif|png|js|css)设置防盗链文件类型,可以自行修改文件类型,如果你还想添加其他防盗链内容,直接添加就可以,每个后缀用“|”符号分开!

valid_referers none blocked *.huijub.com huijub.com;

valid_referers none blocke后面的值是允许访问图片,也就是授权调用文件的域名。

就是白名单,允许文件链出的域名白名单,自行修改成您的域名!

建议将搜索引擎的域名也加入白名单,未测试有效性。

*.baidu.com *.google.com *.bing.com *.so.com *.sogou.com *.sm.cn *.toutiao.com

域名与域名之间使用空格隔开!

rewrite ^/ https://rmt.dogedoge.com/fetch/*****.jpg;

这个图片是盗链返回的图片,也就是替换盗链网站所有盗链的图片。

如果对方盗用你的图片,会显示一个默认图片,这个急救室默认图片。

切记,这个图片不能用你的域名,因为防盗链的作用,盗链者的网站所盗链图片会显示X符号。

nginx彻底地实现真正意义上的防盗链

但是这样并不是完全的防盗链,这只要通过浏览器直接输入图片地址,仍然会显示图片,仍然可以右键图片另存为下载文件!

我们来看第三行:valid_referers none blocked *.huijub.com huijub.com;

valid_referers 里多了“none blocked”

我们把“none blocked”删掉,改成

valid_referers *.huijub.com huijub.com;

nginx彻底地实现真正意义上的防盗链完整的代码应该是这样的:


location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
 valid_referers *.huijub.com huijub.com;
 if ($invalid_referer) {
  rewrite ^/ http://www.huijub.com/images/404.jpg;
  #return 404;
 }
 expires  30d;
}

重启nginx服务

设置完毕后,需要重启一次nginx服务让他加载防盗链规则。

LNMP的话可以使用/etc/init.d/nginx restart或者直接lnmp restart重启即可。

宝塔面板的话,在软件商店,运行环境里面找到nginx,点击,然后服务里面点击重启即可。

尾语

一顿操作后,效果已经实现,在对方网站上显示的防盗链图片还是不错的。「你访问的网站是盗版,请访问主站huijub.com」



推荐站点