教程 nginx tutorial

安全防护与访问控制

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;
}

五、安全优化建议

  1. 定期检查 Nginx 配置文件,关闭不必要模块
  2. 使用 HTTPS 加密传输,提高数据安全
  3. 配合防火墙、WAF、Fail2Ban 等增强安全防护
  4. 定期更新 Nginx 版本,修复已知漏洞

通过配置安全防护与访问控制,Nginx 可以有效防止非法访问和网络攻击,保障 Web 服务安全稳定运行。