主题
安全防护与访问控制
Nginx 提供丰富的安全防护和访问控制功能,可有效防止非法访问和常见网络攻击。
一、目录与文件访问控制
禁止访问敏感文件或目录:
nginx
location ~ /\.ht {
deny all;
}
location /config/ {
deny all;
}二、IP 黑白名单
允许或拒绝特定 IP 访问:
nginx
location /admin/ {
allow 192.168.1.0/24;
deny all;
}- allow:允许访问的 IP
- deny:禁止访问的 IP
三、限制请求大小
防止大文件上传或恶意请求:
nginx
client_max_body_size 10M;- 超过限制的请求将返回 413 状态码
四、防护常见攻击
1. 防止 CC 攻击
通过限制连接数:
nginx
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 10;2. 防止请求速率过高
nginx
limit_req_zone $binary_remote_addr zone=req_limit:10m rate=5r/s;
limit_req zone=req_limit burst=10 nodelay;- limit_req_zone:定义速率限制
- limit_req:应用限制,burst 控制瞬时请求突发量
3. 防止 HTTP 方法滥用
nginx
if ($request_method !~ ^(GET|POST|HEAD)$ ) {
return 405;
}五、安全优化建议
- 定期检查 Nginx 配置文件,关闭不必要模块
- 使用 HTTPS 加密传输,提高数据安全
- 配合防火墙、WAF、Fail2Ban 等增强安全防护
- 定期更新 Nginx 版本,修复已知漏洞
通过配置安全防护与访问控制,Nginx 可以有效防止非法访问和网络攻击,保障 Web 服务安全稳定运行。