博客
关于我
011.Nginx防盗链
阅读量:439 次
发布时间:2019-03-06

本文共 2046 字,大约阅读时间需要 6 分钟。

防盗链与防盗链配置指南

盗链概述

盗链是一种常见的网络安全问题,指的是在自己的界面展示非本服务器上的内容,通过技术手段获取其他服务器的资源。这种方式绕过了他人资源展示页面,在自己页面向用户提供此内容,从而减轻自身服务器的负担。真实的空间和流量来自于其他服务器。

为了防止被盗链,Web服务器通常需要配置防盗链。其核心思路是区分正常用户请求和非正常用户请求。


防盗链配置

防盗链的关键配置参数

valid_referers none | blocked | server_names | string ...;

  • 默认值:无
  • 可配置段:server, location

防盗链的实际应用

通过配置valid_referers,可以指定允许的来源域名或IP地址。非允许来源的请求将被拒绝。以下是一个典型配置示例:

server {    listen 80;    charset utf-8;    server_name good.linuxds.com;    location / {        root /usr/share/nginx/good;        index index.html;        access_log /var/log/nginx/good.access.log main;        error_log /var/log/nginx/good.error.log warn;        valid_referers none blocked good.linuxds.com;        if ($invalid_referer) {            return 403;        }    }}

防盗链的环境准备

在实际应用中,需要确保以下几点:

  • 主机名解析:确保好.linuxds.com等域名能够正确解析到对应的IP地址。
  • IP配置:检查防火墙设置,确保防火墙不阻止相关端口。
  • 文件路径:确保配置文件和相关文件路径正确无误。

  • 防盗链配置示例

    示例1:全域名白名单配置

    server {    listen 80;    charset utf-8;    server_name good.linuxds.com;    location / {        root /usr/share/nginx/good;        index index.html;        access_log /var/log/nginx/good.access.log main;        error_log /var/log/nginx/good.error.log warn;        valid_referers none blocked good.linuxds.com;        if ($invalid_referer) {            return 403;        }    }}

    示例2:针对特定文件类型的白名单配置

    server {    listen 80;    charset utf-8;    server_name good.linuxds.com;    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {        valid_referers none blocked *.linuxds.com linuxds.com;        access_log /var/log/nginx/good.access.log main;        error_log /var/log/nginx/good.error.log warn;        if ($invalid_referer) {            rewrite ^/ https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1767274412,1868768041&fm=26&gp=0.jpg;        }    }}

    防盗链的实际效果

    通过上述配置,可以有效防止非法盗链行为。例如:

    • 访问http://good.linuxds.com/images/baidu.png时,请求头中的Referer字段会被检查。
    • 如果Referer不在白名单中,将返回403错误,阻止非法访问。

    同时,针对特定文件类型的防盗链配置,可以进一步限制非法请求的范围,提高服务器安全性。


    防盗链的注意事项

  • 动态域名解析:确保域名解析能够动态更新,避免解析失败导致的访问问题。
  • 日志监控:定期检查日志文件,及时发现异常访问行为。
  • 定期更新:根据业务需求定期更新防盗链白名单,确保其持续有效性。
  • 通过以上配置和优化,可以有效防止服务器被盗链,保障网站正常运行。

    转载地址:http://lrwyz.baihongyu.com/

    你可能感兴趣的文章
    Python在def函数中使用for循环
    查看>>
    Python在def函数中使用for循环
    查看>>
    Python在Conda环境中,但在Windows虚拟环境中没有激活
    查看>>
    python系列【仅供参考】:python pip 错误 ModuleNotFoundError: No module named pip._internal 解决办法
    查看>>
    python图像条状状噪声,使用PYTHON PIL从验证码图像中删除背景嘈杂的线条
    查看>>
    Python图像处理:从内存加载jpeg
    查看>>
    python固定后缀(名物化词汇)词频统计:抽取+统计+可视化
    查看>>
    python商品评论数据采集与分析可视化系统 Flask框架 requests爬虫 NLP情感分析 毕业设计 源码
    查看>>
    python商品数据分析可视化系统(带爬虫)京东销售数据分析 计算机毕业设计 源码下载
    查看>>
    python商品库存管理系统 django框架 商品网站 MySQL数据库 源码下载 计算机毕业设计
    查看>>
    Python哪个版本最稳定好用2023.10.19
    查看>>
    Python和黑客技术的渊源
    查看>>
    Python和RF编写接口自动化
    查看>>
    Python和RF编写web自动化
    查看>>
    python和js哪个难_【Python】记一次学习,Python 与 js 在实现闭包时的差异
    查看>>
    python和java哪个更值得学——来自知乎高赞回答
    查看>>
    python和c混合编程 github_在pycharm中使用git版本管理以及同步github的方法
    查看>>
    python命名空间更改_Python模块xml.etree.ElementTree自动修改xml命名空间键
    查看>>
    Python命名中尾随下划线有什么好处?
    查看>>
    Python启动脚本
    查看>>