centos

nginx ssl在centos上的最佳实践是什么

小樊
31
2025-12-11 14:16:36
栏目: 云计算

Nginx SSL 在 CentOS 的最佳实践

一 环境准备与证书获取

二 推荐的 Nginx SSL 配置

http {
    # 会话与恢复
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;
    ssl_session_tickets on;
    # 可选:生成密钥文件并设定权限(/etc/nginx/ssl/ticket.key,600)
    # ssl_session_ticket_key /etc/nginx/ssl/ticket.key;

    # 现代协议与性能
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:
                ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:
                DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve secp384r1;
    ssl_buffer_size 1400;

    # OCSP Stapling
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;

    # 可选:TLS 1.3 0-RTT(有重放风险,按业务谨慎开启)
    # ssl_early_data on;

    server {
        listen 443 ssl http2;
        server_name example.com www.example.com;

        ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

        # 安全头
        add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
        add_header X-Frame-Options DENY;
        add_header X-Content-Type-Options nosniff;

        # 站点根目录(示例)
        root /var/www/html;
        index index.html;
    }

    # HTTP 跳转 HTTPS
    server {
        listen 80;
        server_name example.com www.example.com;
        return 301 https://$host$request_uri;
    }
}

三 部署与运维要点

四 场景化配置与注意事项

0
看了该问题的人还看了