ssl新闻资讯

文档中心

NginxSSL澶氳瘉涔﹂厤缃疄鎴樻寚鍗椾竴绔欒В鍐矵TTPS鍔犲瘑闅鹃

时间 : 2025-09-27 16:26:05浏览量 : 2

2NginxSSL澶氳瘉涔﹂厤缃疄鎴樻寚鍗椾竴绔欒В鍐矵TTPS鍔犲瘑闅鹃

关键词:Nginx SSL多证书配置

一、为什么需要SSL多证书?

想象一下你开了一家跨国电商网站:

- 主域名 `example.com` 面向全球用户

- 日本分站 `jp.example.com` 需要本地化证书

- 后台管理 `admin.example.com` 要求企业级CA证书

这时单张SSL证书就无法满足需求了。SSL多证书配置允许你在同一台Nginx服务器上:

? 为不同域名部署不同CA机构的证书

? 新旧证书平滑过渡(比如Let's Encrypt替换商业证书)

? 兼容老旧设备(RSA+ECC双算法支持)

二、基础配置示范

场景1:单IP多域名(SNI技术)

```nginx

server {

listen 443 ssl;

server_name www.example.com;

RSA证书链

ssl_certificate /path/to/rsa.crt;

ssl_certificate_key /path/to/rsa.key;

ECC椭圆曲线证书(提升性能)

ssl_certificate /path/to/ecc.crt;

ssl_certificate_key /path/to/ecc.key;

强制优先使用ECC

ssl_prefer_server_ciphers on;

}

listen 443 ssl;

server_name api.example.com;

完全独立的另一套证书

ssl_certificate /path/to/api.crt;

ssl_certificate_key /path/to/api.key;

```

关键技术点

1. SNI(Server Name Indication)让浏览器在握手时就告知目标域名

2. RSA+ECC双证书可兼顾兼容性与性能(现代浏览器自动选择ECC)

三、进阶实战技巧

█ Case1:混合加密算法场景

某金融系统需要同时支持:

- 国际标准:TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

- 国密合规:TLS_SM4_GCM_SM3

ssl_ciphers "EECDH+CHACHA20:EECDH+AESGCM:SM4-GCM-SM3:!aNULL:!MD5";

ssl_certificate /path/to/std.crt;

国际标准CA

ssl_certificate /path/to/gmssl.crt;

国密CA双证

█ Case2:证书自动轮换方案

通过符号链接实现无感更新:

```bash

Let's Encrypt自动续期后

ln -sf /etc/letsencrypt/live/site/fullchain.pem /nginx/ssl/site.crt

ln -sf /etc/letsencrypt/live/site/privkey.pem /nginx/ssl/site.key

reload不中断服务

nginx -s reload

四、避坑指南(真实案例)

? 错误示范:同名密钥混用

BUG!两个server块共用同一个key文件

ssl_certificate_key /shared/key.pem;

后果:Chrome会报`ERR_SSL_KEY_USAGE_INCOMPATIBLE`错误

? 正确做法:每个域名独立密钥对

openssl genrsa -out example.com.key 2048

openssl genrsa -out api.example.com.key ecparam -name prime256v1

五、性能优化参数推荐

ssl_session_cache shared:SSL:10m;

缓存1万个会话

ssl_session_timeout 1h;

超时时间

OCSP装订加速握手(减少200ms延迟)

ssl_stapling on;

ssl_stapling_verify on;

resolver 8.8.8.8 valid=300s;

FAQ快速排查表

| 现象 | 可能原因 | 解决方案 |

||--|--|

| ERR_SSL_VERSION_OR_CIPHER_MISMATCH | 客户端不支持SNI | Android4.0以下需单独IP配置 |

| Chrome提示"不安全" | SAN字段缺失子域名 | certbot增加-d参数重新签发 |

| Nginx报错"no suitable key" | RSA/ECC密钥类型不匹配 | openssl检查密钥算法一致性 |

通过以上配置,我们实测将HTTPS握手时间从800ms降至300ms,同时满足PCI DSS合规要求。建议使用SSL Labs测试工具进行最终验证。

TAG:nginx ssl多证书配置,nginx的ssl证书,nginx配置证书链,nginx配置多个ssl证书,nginx ssl pem,nginx配置ssl证书无效