在 Nginx 中配置双 SSL 证书(例如同时支持 RSA 和 ECC 证书,或为不同域名/协议提供多个证书),是现代 HTTPS 服务中常见的需求,尤其适用于需要兼顾兼容性与高性能的场景。Nginx 自 1.19.4 版本起正式支持 ssl_certificate 和 ssl_certificate_key 指令的多次使用,从而实现多证书部署。
“双 SSL 证书”通常指以下两种情况之一:
⚠️ 注意:若仅为单一域名配置两个证书(如两个 RSA 证书),Nginx 将仅最后一个生效,除非结合 SNI 使用。
rsa.key / rsa.crt —— RSA 私钥与证书链ecc.key / ecc.crt —— ECC(如 P-256)私钥与证书链server {
listen 443 ssl http2;
server_name example.com;
# RSA 证书(主证书,兼容老客户端)
ssl_certificate /etc/nginx/ssl/rsa.crt;
ssl_certificate_key /etc/nginx/ssl/rsa.key;
# ECC 证书(优先用于支持的客户端)
ssl_certificate /etc/nginx/ssl/ecc.crt;
ssl_certificate_key /etc/nginx/ssl/ecc.key;
# 安全参数
ssl_protocols TLSv1.2 TLSv1.3;
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;
ssl_prefer_server_ciphers off;
# 其他设置
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_stapling on;
ssl_stapling_verify on;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
✅ 关键点解释:
- 多个
ssl_certificate和ssl_certificate_key对按顺序匹配。- 支持 TLS 1.3 的 Key Share 扩展,客户端可自主选择合适的密钥交换方式。
- 推荐将 ECC 证书放在后面以优先协商更高效的 ECDSA。
site-a.com, site-b.com)server {
listen 443 ssl http2;
server_name site-a.com;
ssl_certificate /etc/nginx/ssl/site-a.crt;
ssl_certificate_key /etc/nginx/ssl/site-a.key;
root /var/www/site-a;
}
server {
listen 443 ssl http2;
server_name site-b.com;
ssl_certificate /etc/nginx/ssl/site-b-ecc.crt;
ssl_certificate_key /etc/nginx/ssl/site-b-ecc.key;
root /var/www/site-b;
}
✅ 此模式依赖于 SNI(Server Name Indication),几乎所有现代客户端均支持。
| 项目 | 说明 |
|---|---|
| Nginx 版本要求 | 必须 ≥ 1.19.4 才能正确支持多证书语法 |
| SNI 支持 | 客户端必须支持 SNI,否则无法区分证书 |
| OCSP Stapling | 若启用,请确保所有证书都可通过 stapling 验证 |
| 证书链完整性 | 每个.crt文件应包含完整的证书链(服务器证书 + 中级 CA) |
使用 OpenSSL 命令测试:
# 测试 RSA 是否可用
openssl s_client -connect example.com:443 -servername example.com -cert_rsa_key
# 测试 ECC 是否协商成功
openssl s_client -connect example.com:443 -servername example.com -cipher ECDHE-ECDSA-AES128-GCM-SHA256
或使用在线工具检测:
以下是支持生成 ECC/RSA 双证书、满足高安全等级需求的推荐选项:
| 产品名称 | 参考价格 | 证书类型 | 适用场景 |
|---|---|---|---|
| DigiCert Secure Site Pro OV SSL | 13800元/年 | OV, 支持 RSA/ECC 双栈 | 适用于需要最高信任度的金融机构、大型电商平台 |
| GlobalSign OrganizationSSL | 3980元/年 | OV, 支持 ECC 256/384 | 适用于中型企业官网、政务系统 |
加密您的网站,赢得客户信任!