Nginx 配置防盗链

Nginx
Nginx常用功能
本文将介绍怎样通过 nginx 去开启图片资源的防盗链。

本文将介绍怎样使用 nginx 去处理防盗链。在正式之前,我们先了解什么是盗链?

什么是盗链?

盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。

下图简单介绍了图片盗链:

Nginx 配置防盗链

上图中,你的服务器(https://www.you.com )有一个 index.html 资源,该资源访问了你自己服务器上面的图片,这是正常网站的访问方式。但是,有些网站并不想存储图片,因为图片需要占用更多的资源(如果是其他资源将更占用资源,如:软件、电影、音乐等),于是他们就直接将图片地址指向你服务器(上图红色的箭头线)。

盗链的危害:

  • 占用你的带宽 —— 因为其他人网站的图片是从你的服务器获取的,图片占用带宽比较大,被盗链的图片越多,消耗的带宽越多(最终由你为这些带宽买单);

  • 导致你服务器访问变慢 —— 如果盗链多且有盗链的页面访问量越多,你服务器承受更大的压力;因此也就导致你服务越来越慢。

nginx 处理盗链

我们通过一个实例来介绍怎样使用 nginx 来配置盗链。假如我有两个服务器,分别为 S0(192.168.238.200) 和 S1(192.168.238.201)。两个服务器都使用 80 端口提供服务,其中:S0 的 index.html 页面访问自己的图片,S1 的 index.html 页面将访问 S0 的图片。

S0服务器 index.html 内容:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>nginx盗链</title>
</head>
<body>
    <h1>S0</h1>
    <img src="https://s0.example.com/daolian.png" />
</body>
</html>

nginx.conf 配置文件部分内容:

server {
    listen  80;
    server_name s0.example.com;
    location / {
        root html/daolian;
        index index.html;
    }
}

使用 https://s0.example.com/ 访问服务,如下图:

Nginx 配置防盗链

S1服务器 index.html 内容:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>nginx盗链</title>
</head>
<body>
    <h1>S1</h1>
    <!-- 图片盗链 -->
    <img src="https://s0.example.com/daolian.png" />
</body>
</html>

使用 https://s1.example.com/ 访问服务,如下图:

Nginx 配置防盗链

配置 nginx

我们进入导 S0 服务器,然后修改 nginx 的 nginx.conf 文件。修改如下:

server {
    listen  80;
    server_name s0.example.com;
    location / {
        root html/daolian;
        index index.html;
    }
    
    # 配置图片防止盗链
    location ~*.(gif|jpg|png|jpeg)$ {
        root html/daolian;
        valid_referers none blocked s0.example.com;
        if ($invalid_referer) {
            # 如果是盗链,则直接返回 403
            return 403;
        }
    }
}

保存配置,运行 nginx -t 测试配置是否有问题,如果没有问题,则运行 nginx -s reload 重新加载配置。使用 https://s1.example.com/ 访问服务,如下图:

Nginx 配置防盗链

此时 S1 的 index.html 图片不能正确显示了,因为我们在 S0 中配置了防盗链。由于是盗链,所以 S0 直接返回了 403。当然,我们也可以返回一个其他资源,如一个盗链警告图片。配置如下:

server {
    listen  80;
    server_name s0.example.com;
    location / {
        root html/daolian;
        index index.html;
    }
    # 该 location 解决 Failed to load resource: net::ERR_TOO_MANY_REDIRECTS 问题
    location ~jinzhi.png$ {
        root html/daolian;
    }
    # 防盗链设置
    location ~*.(gif|jpg|png|jpeg)$ {
        root html/daolian;
        valid_referers none blocked s0.example.com;
        if ($invalid_referer) {
            # 如果是盗链,则重定向到 jinzhi.png 图片
            rewrite ^/ https://s0.example.com/jinzhi.png;
        }
    }
}

保存配置,运行 nginx -t 测试配置是否有问题,如果没有问题,则运行 nginx -s reload 重新加载配置。使用 https://s1.example.com/ 访问服务,如下图:

Nginx 配置防盗链

此时,我们看见的图片是盗链图片。

成熟不是人的心变老,而是泪在眼眶里打转还能微笑。
0 不喜欢
说说我的看法 -
全部评论(
没有评论
  • Nginx 如何配置跨域
  • Nginx 如何配置 SLL 证书?
  • Nginx 开启资源 Gzip 压缩
  • Nginx示例:利用 valid_referers 实现防盗链
  • Nginx 修改上传文件文件大小限制
  • Nginx 实现 IP 黑白名单
  • Nginx 使用 mirror 指令实现流量镜像功能
  • 轻松理解 Nginx 中的 proxy_pass 指令
  • 一文快速了解如何配置 Nginx 的 location
  • 正确理解 Nginx 的 max_fails 和 fail_timeout 配置
目录
开发工具 更多
准确、全面、详细的标准C函数参考手册,为你保驾护航
提供最好用的 Linux 命令大全,便捷、快速
提供常用 MySQL 内置函数,及函数的用法示例
提供 Oracle 内置常用函数参考手册
快速、便捷、常用开源框架的 Java Doc 参考手册
热门标签
热门文章
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
其他应用
  • 开源镜像网站
  • 开发测试API
公众号

天下网SEO济南网站建设设计珠海如何制作网站报价淮南网站排名优化价格益阳网站改版多少钱常州百度爱采购价格天门seo网站推广多少钱伊犁营销型网站建设价格枣庄网站改版报价宜昌网站推广工具推荐陇南网站优化公司丽江关键词按天收费多少钱柳州企业网站建设哪家好福田百搜标王公司扬州网站开发哪家好横岗seo优化哪家好本溪如何制作网站哪家好日照关键词按天收费价格池州网站优化按天计费哪家好三亚品牌网站设计价格南平外贸网站建设多少钱揭阳英文网站建设巢湖品牌网站设计哪家好思茅百度竞价推荐新乡外贸网站建设推荐本溪企业网站设计多少钱萍乡设计网站哪家好大鹏网站推广方案报价肇庆seo网站推广推荐昆明模板制作常德高端网站设计多少钱香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网SEO XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化