参考资料

  1. Nginxexpires:页面缓存时间配置详细说明以及案例
  2. Nginx配置文件详细说明以及案例
  3. LVS(Linux Virtual Server)负载均衡详细说明以及案例
  4. Nginx如何限制连接数以防止DDoS?
  5. Nginx访问日志配置详细说明以及案例
  6. Nginx upstream容错机制详解详细说明以及案例
  7. 如何查看要查看 Nginx 默认配置文件路径
  8. 查看nginx 设置配置文件路径方法

如何使用Nginx模块增强安全性?

  1. 限制HTTP方法

location / {
    limit_except GET POST {
        deny all;
    }
}
  1. 禁用服务器信息

server_tokens off;
  1. 添加安全头

add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
add_header X-XSS-Protection "1; mode=block";
  1. 启用HTTPS重定向

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}
  1. 限制客户端上传大小

client_max_body_size 1M;
  1. 启用Basic认证

location /admin {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
}
  1. 防止目录遍历

location ~* \.(env|log|htaccess)$ {
    deny all;
}
  1. 限制IP访问

location /api {
    allow 192.168.1.0/24;
    deny all;
}
  1. 启用CSP策略

add_header Content-Security-Policy "default-src 'self'";
  1. 禁用不必要的HTTP方法

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