插件窝 干货文章 如何提高Nginx的安全与性能

如何提高Nginx的安全与性能

Nginx 优化 启用 application 83    来源:    2025-04-25

提高Nginx安全与性能的全面指南

安全优化措施

1. 基础安全配置

  • 禁用服务器标记:隐藏Nginx版本信息

    server_tokens off;
    
  • 限制HTTP方法:只允许必要的HTTP方法

    if ($request_method !~ ^(GET|HEAD|POST)$ ) {
    return 405;
    }
    
  • 禁用目录列表

    autoindex off;
    

2. SSL/TLS强化

  • 使用强加密套件

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305';
    ssl_prefer_server_ciphers on;
    
  • 启用HSTS

    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
    

3. 请求限制

  • 限制请求大小和速率nginx client_max_body_size 10m; limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;

4. 访问控制

  • IP白名单

    location /admin {
    allow 192.168.1.0/24;
    deny all;
    }
    
  • 禁用敏感文件访问

    location ~* \.(env|log|htaccess)$ {
    deny all;
    }
    

性能优化措施

1. 基础性能优化

  • 启用Gzip压缩

    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
  • 启用缓存

    proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m inactive=60m;
    

2. 连接优化

  • 调整连接参数

    keepalive_timeout 65;
    keepalive_requests 100;
    client_header_timeout 10;
    client_body_timeout 10;
    send_timeout 10;
    
  • 启用TCP优化

    tcp_nopush on;
    tcp_nodelay on;
    

3. 静态资源优化

  • 静态文件缓存头nginx location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 365d; add_header Cache-Control "public, no-transform"; }

4. 高级优化

  • 启用HTTP/2

    listen 443 ssl http2;
    
  • 调整工作进程

    worker_processes auto;
    worker_rlimit_nofile 100000;
    events {
    worker_connections 4096;
    multi_accept on;
    use epoll;
    }
    

监控与维护

  1. 启用访问日志和错误日志

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    
  2. 定期检查Nginx配置

    nginx -t
    
  3. 使用fail2ban防止暴力破解

    apt install fail2ban
    
  4. 定期更新Nginx

    apt update && apt upgrade nginx
    

通过实施这些优化措施,您可以显著提高Nginx服务器的安全性和性能。根据您的具体需求和环境,可能需要调整某些参数值。