当前位置: 首页 > ds >正文

Nginx访问限制学习笔记

文章目录

  • Nginx 访问限制配置清单
    • 1. 基于 IP 限制访问
    • 2. 基于 User-Agent 限制(防爬虫)
    • 3. 基于 URL 路径限制(保护敏感文件)
    • 4. 请求频率限制(防 DDoS / 暴力请求)
      • 4.1 限制并发连接数
      • 4.2 限制请求速率
    • 5. 访问认证限制(Basic Auth)
    • 6. 防盗链(基于 Referer)
    • 7. 阻止特定请求方法
    • 8. 限制上传文件大小
    • 9. 配合防火墙(Linux 层面)
  • 总结

Nginx 访问限制配置清单

1. 基于 IP 限制访问

location / {# 允许指定 IP 段allow 192.168.1.100;allow 10.0.0.0/24;# 拒绝所有其他 IPdeny all;
}

应用:只允许内网访问后台管理系统。


2. 基于 User-Agent 限制(防爬虫)

if ($http_user_agent ~* "curl|wget|python") {return 403;
}

$http_user_agent是请求头中的客户端标识

~*表示不区分大小写的正则匹配

应用:屏蔽脚本工具批量请求。


3. 基于 URL 路径限制(保护敏感文件)

# 禁止访问版本库目录	.git、.svn
location ~ /\.git {deny all;
}
#	匹配 URL 中带有 /.git 的路径location ~ /\.svn {deny all;
}

应用:防止代码泄露。


4. 请求频率限制(防 DDoS / 暴力请求)

4.1 限制并发连接数

使用 limit_connlimit_req 模块限制请求速率,防止 DDoS 或暴力请求

http {limit_conn_zone $binary_remote_addr zone=addr:10m;server {location / {limit_conn addr 1;   # 每个 IP 最多 1 个并发连接}}
}

4.2 限制请求速率

http {limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;server {location /api/ {limit_req zone=one burst=5 nodelay;}}
}
#	burst=5:允许突发5个请求
#	nodelay:超出的请求立即返回503,不排队

应用:保护接口 API,防止刷接口。


5. 访问认证限制(Basic Auth)

  1. 生成密码文件:
htpasswd -c /etc/nginx/.htpasswd user1
  1. Nginx 配置:
location /admin {auth_basic "Restricted Area";auth_basic_user_file /etc/nginx/.htpasswd;
}

应用:后台管理加密码保护。


6. 防盗链(基于 Referer)

location /images/ {valid_referers none blocked *.example.com;if ($invalid_referer) {return 403;}
}

应用:防止图片、视频被外站盗链。


7. 阻止特定请求方法

if ($request_method !~ ^(GET|POST)$) {return 405;
}

应用:禁止 PUT/DELETE 等危险请求。


8. 限制上传文件大小

server {client_max_body_size 10m;  # 限制上传文件最大 10MB
}

应用:防止大文件拖垮服务器。


9. 配合防火墙(Linux 层面)

Nginx 配置只是应用层限制,更强的控制可以配合 Linux 防火墙 使用

# UFW
sudo ufw deny from 192.168.1.200# iptables
sudo iptables -A INPUT -s 192.168.1.200 -j DROP

应用:更底层的访问限制。


总结

Nginx 常见访问限制手段: - IP 限制:allow/deny\

  • User-Agent 限制:防爬虫\
  • 路径限制:保护敏感目录\
  • 限流:limit_conn / limit_req 防 DDoS\
  • 认证限制:Basic Auth\
  • 防盗链:Referer 检测\
  • 请求方法限制:只允许 GET/POST\
  • 上传限制:限制文件大小\
  • 结合防火墙:更强的防御
http://www.xdnf.cn/news/19016.html

相关文章:

  • 论文学习日志——忆阻器与神经网络——part1
  • 基于XiaothinkT6语言模型的文本相似度计算:轻量方案实现文本匹配与去重
  • AT_abc403_f [ABC403F] Shortest One Formula
  • 阿里云docker搭建的mysql无法访问
  • Docker化性能监控平台搭建:JMeter+InfluxDB+Grafana全攻略
  • GRPO算法:告别PPO内存炸弹,无需价值函数,用组内排名代替绝对评分
  • NUMA架构
  • Java大厂面试全解析:从Spring Boot到微服务架构实战
  • 矩阵初等变换的几何含义
  • 【LeetCode】动态规划——542.01 矩阵
  • 系统设计(数据库/微服务)
  • 计算机网络的发展演进历程
  • 2 梯度下降算法
  • 英伟达 Spectrum-XGS:重构 AI 基础设施,开启跨域超级工厂时代
  • 氯化钕:以稀土之力引领科技创新
  • Spring AI 入门指南:三步将AI集成到Spring Boot应用
  • Java大厂面试实战:从Spring Boot到微服务架构的全链路技术剖析
  • MySQL 面试题系列(四)
  • Mysql——日志
  • 力扣hot100:搜索旋转排序数组和寻找旋转排序数组中的最小值(33,153)
  • TikTok广告投放革命:指纹云手机如何实现智能群控与降本增效
  • Mac中修改Word的Normal.dotm文件
  • CSS实现内凹圆角边框技巧(高频)
  • 绿算技术解密金融科技安全:高性能计算与存储驱动金融防火墙新时代
  • 【拥抱AI】一起学卷积神经网络(CNN)
  • 一天推荐一款实用的手柄零件————线性霍尔
  • Zynq开发实践(FPGA之verilog仿真)
  • Flask 之上下文详解:从原理到实战
  • OSG+Qt —— 笔记3- Qt窗口绘制模型的三条轴(附源码)
  • 【Linux操作系统】简学深悟启示录:环境变量进程地址