博客
关于我
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/

    你可能感兴趣的文章
    NVIDIA GPU 的状态信息输出,由 `nvidia-smi` 命令生成
    查看>>
    NVIDIA-cuda-cudnn下载地址
    查看>>
    nvidia-htop 使用教程
    查看>>
    nvidia-smi 参数详解
    查看>>
    nvm安装以后,node -v npm 等命令提示不是内部或外部命令 node多版本控制管理 node多版本随意切换
    查看>>
    NYOJ 1066 CO-PRIME(数论)
    查看>>
    nyoj------203三国志
    查看>>
    nyoj58 最少步数
    查看>>
    OAuth2 + Gateway统一认证一步步实现(公司项目能直接使用),密码模式&授权码模式
    查看>>
    OAuth2 Provider 项目常见问题解决方案
    查看>>
    Vue.js 学习总结(14)—— Vue3 为什么推荐使用 ref 而不是 reactive
    查看>>
    oauth2-shiro 添加 redis 实现版本
    查看>>
    OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
    查看>>
    OAuth2.0_JWT令牌介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记147
    查看>>
    OAuth2.0_介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记137
    查看>>
    OAuth2.0_完善环境配置_把资源微服务客户端信息_授权码存入到数据库_Spring Security OAuth2.0认证授权---springcloud工作笔记149
    查看>>
    OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
    查看>>
    OAuth2.0_授权服务配置_令牌服务和令牌端点配置_Spring Security OAuth2.0认证授权---springcloud工作笔记143
    查看>>
    OAuth2.0_授权服务配置_客户端详情配置_Spring Security OAuth2.0认证授权---springcloud工作笔记142
    查看>>
    OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
    查看>>