温馨提示×

debian nginxssl怎么优化

小樊
42
2026-10-20 06:03:36
栏目: 云计算

在 Debian 上优化 Nginx + SSL(HTTPS),通常从 协议/加密套件、会话复用、OCSP、HTTP/2、证书、系统参数 几个方面入手。下面给你一套实用、可落地的优化方案(适用于 Debian 11/12 + Nginx 1.18+)。


一、Nginx SSL 基础优化(最重要)

1. 使用现代协议与加密套件

编辑 /etc/nginx/nginx.conf 或站点配置:

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;

✅ 不建议再启用 TLS 1.0 / 1.1


2. 开启 SSL 会话复用(大幅降低握手开销)

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;

ssl_session_tickets off 更安全(避免 ticket 密钥泄露)


3. 启用 OCSP Stapling(提升访问速度 & 安全性)

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 1.1.1.1 valid=300s;
resolver_timeout 5s;

证书配置中必须有:

ssl_trusted_certificate /etc/nginx/ssl/fullchain.pem;

4. 启用 HTTP/2(必须)

listen 443 ssl http2;

Debian + Nginx 默认已支持


二、证书与密钥优化

1. 使用 ECC 证书(比 RSA 更快)

openssl ecparam -genkey -name prime256v1 -out ec.key

或使用 Let’s Encrypt:

certbot certonly --nginx -d example.com --key-type ecdsa

2. 启用 HSTS(防降级)

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

三、性能层面优化

1. 调整 worker 配置

worker_processes auto;
worker_connections 10240;

2. 开启文件缓存(静态资源)

open_file_cache max=10000 inactive=30s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;

3. 启用 Gzip / Brotli

gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;

如支持 Brotli:

brotli on;
brotli_comp_level 6;

四、Linux 系统层优化(Debian)

1. 增加端口范围 & TIME_WAIT 复用

sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.core.somaxconn=65535

写入 /etc/sysctl.conf 持久化


2. 文件描述符限制

/etc/security/limits.conf

* soft nofile 100000
* hard nofile 100000

五、完整示例(SSL 段)

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

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

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers on;

    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;
    ssl_session_tickets off;

    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 valid=300s;

    add_header Strict-Transport-Security "max-age=31536000" always;
}

六、检测你的 SSL 质量

  • https://www.ssllabs.com/ssltest/
  • 目标:A+ 评分

如果你愿意,可以告诉我:

  • Debian 版本
  • Nginx 版本
  • 是否用 Certbot / 自建 CA
  • 是否高并发 / API / 静态站

我可以给你 精准配置模板。

0 踩