温馨提示×

nginxssl在debian怎么优化

小樊
48
2026-10-14 12:27:14
栏目: 云计算

在 Debian 上优化 Nginx + SSL(HTTPS),通常从 协议/加密套件、性能、证书、系统层面 四个方面入手。下面给你一套实用且安全的优化方案(适用于 Debian 11/12 + Nginx 1.18+)。


一、SSL 协议与加密套件优化(最重要)

1. 禁用不安全协议

编辑 Nginx 配置文件(如 /etc/nginx/conf.d/ssl.conf 或站点配置):

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off; # TLS1.3 下无意义

✅ 不建议启用 TLS 1.0 / 1.1


2. 推荐加密套件(现代安全)

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

如果你只支持现代浏览器:

ssl_ciphers TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256;

二、开启 SSL 性能优化

1. 启用 SSL Session 复用(大幅降低握手开销)

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off; # 更安全(可选)

2. 启用 OCSP Stapling(提高访问速度)

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

证书需包含中间证书。


3. 启用 HTTP/2(强烈推荐)

listen 443 ssl http2;

检查:

nginx -t
systemctl reload nginx

三、证书与密钥优化

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

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

Let’s Encrypt:

certbot certonly --key-type ecdsa

2. 合并证书链

ssl_certificate /etc/ssl/certs/fullchain.pem;
ssl_certificate_key /etc/ssl/private/privkey.pem;

四、Nginx 性能优化(Debian 层面)

1. 调整 worker 配置

worker_processes auto;
worker_rlimit_nofile 65535;

events {
    worker_connections 10240;
    use epoll;
}

2. 开启文件缓存

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

五、Linux 系统层优化(Debian)

1. 提高文件描述符

ulimit -n 65535

/etc/security/limits.conf:

* soft nofile 65535
* hard nofile 65535

2. TCP 优化(/etc/sysctl.conf)

net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 300
sysctl -p

六、安全加固(可选但推荐)

HSTS

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

隐藏 Nginx 版本

server_tokens off;

七、验证优化效果

SSL 测试

https://www.ssllabs.com/ssltest/

HTTP/2 检查

curl -I --http2 https://yourdomain.com

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

  • Debian 版本
  • Nginx 版本
  • 是否使用 Certbot / 自建 CA
  • 是否是高并发场景

我可以直接给你一份 可复制的 Nginx SSL 配置模板。

0 踩