Linux下Nginx防盗链设置

修改Nginx网站的配置

  1. 首先找到nginx.conf文件,找到文件中的server{} 虚拟机配置

  2. 在server虚拟机配置内添加如下代码

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|mp4)$ {
         root /www/html/;
         expires 24h;
         access_log off;
         valid_referers none blocked *.abc.com 192.168.1.55; 
         if ($invalid_referer) {
             return 403; 
         }
     } 
    
  3. 解析

    • \.(gif|jpg|jpeg|png|bmp|swf|mp4) 这是启用防盗链的文件扩展名

    • root /www/html/; 文件转发目录

    • expires 24h; 在客户浏览器缓存24小时,如果是天,可以用expires 30d;

    • access_log off; 不写入日志文件中

    • valid_referers none blocked *.abc.com 192.168.1.55; 允许访问的域名站点或IP,如果多个地址用空格隔开,支持域名泛解析

    • if ($invalid_referer) { return 403; }

      除了允许直接访问的域名外,其他域名直接返回403,也可以直接返回一个指定的网址rewrite ^/ http://abc.com/ima/a.jpg;

  4. 遗留问题

    如上配置,有一图片地址为http://a.abc.com/a.jpg,如果有一有def.com网站解析到abc.com时无法防问,但是,如果直接引用http://a.abc.com/a.jpg是可以访问的

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容