ssl新闻资讯

文档中心

Nginx澶氬煙鍚峉SL璇佷功閰嶇疆鎸囧崡涓€缃戞墦灏紿TTPS瀹夊叏閮ㄧ讲

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

2Nginx澶氬煙鍚峉SL璇佷功閰嶇疆鎸囧崡涓€缃戞墦灏紿TTPS瀹夊叏閮ㄧ讲

在今天的互联网环境中,HTTPS早已成为网站安全的标配。无论是保护用户隐私,还是提升搜索引擎排名,SSL证书都不可或缺。但对于拥有多个域名的站长或运维人员来说,如何高效地为Nginx配置多域名SSL证书,可能是个头疼的问题。本文将用通俗易懂的语言,结合实例,带你一步步搞定Nginx多域名SSL证书的配置。

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

假设你运营一个电商平台,主站是 `shop.com`,还有博客 `blog.shop.com` 和会员中心 `user.shop.com`。如果每个子域名单独申请证书:

1. 管理麻烦:需要多次申请、续费、部署。

2. 成本高:单域名证书按数量收费(比如Let's Encrypt虽免费但有速率限制)。

而多域名SSL证书(如SAN证书或通配符证书)可以一张证书覆盖多个域名,比如:

- SAN证书:同时保护 `shop.com`、`blog.shop.com`、`api.shop.com`。

- 通配符证书:保护 `*.shop.com` 的所有子域名。

> 举例:腾讯云的“多域名DV SSL证书”支持绑定10个域名,适合中小型业务场景。

二、Nginx配置多域名SSL的两种方案

方案1:单服务器配置多个独立SSL证书

适用场景:不同域名对应完全独立的业务(如 `a.com` 和 `b.com`)。

```nginx

server {

listen 443 ssl;

server_name a.com;

ssl_certificate /path/to/a.com.crt;

ssl_certificate_key /path/to/a.com.key;

其他配置...

}

server_name b.com;

ssl_certificate /path/to/b.com.crt;

ssl_certificate_key /path/to/b.com.key;

```

方案2:单服务器共用多域名SAN证书

适用场景:多个关联域名(如主站+子域名)。

server_name shop.com blog.shop.com;

同一张证书覆盖所有域名

ssl_certificate /path/to/multi_domain.crt;

ssl_certificate_key /path/to/multi_domain.key;

根据访问的域名返回不同内容

location / {

if ($host = "blog.shop.com") {

proxy_pass http://blog_backend;

}

if ($host = "shop.com") {

proxy_pass http://main_site;

}

> 注意:SAN证书需提前将所有域名写入CSR(Certificate Signing Request),后续新增需重新签发。

三、实战案例:通配符证书 + Nginx配置

假设你有一个通配符证书 `*.shop.com`,想同时保护以下站点:

- `www.shop.com`

- `api.shop.com`

server_name www.shop.com;

ssl_certificate /path/to/wildcard.crt;

ssl_certificate_key /path/to/wildcard.key;

root /var/www/main_site;

server_name api.shop.com;

复用同一张通配符证书

ssl_certificate /path/to/wildcard.crt;

ssl_certificate_key /path/to/wildcard.key;

location / {

proxy_pass http://api_backend;

}

四、常见问题与优化技巧

1. HTTP/2支持:在Nginx中启用HTTP/2能显著提升性能:

```nginx

listen 443 ssl http2;

```

2. OCSP装订(OCSP Stapling):减少客户端验证证书吊销状态的延迟:

ssl_stapling on;

ssl_stapling_verify on;

3. 兼容性问题

- Android 4.x等旧设备可能不支持SNI(Server Name Indication),需额外监听默认IP的443端口并配置默认证书。

五、

通过合理选择多域名SSL方案(独立/SAN/通配符),配合Nginx的灵活配置,可以轻松实现多个域名的HTTPS加密。关键步骤包括:

1. 选对证书类型(根据业务需求决定)。

2. 正确编写Nginx配置块(区分不同域名的逻辑)。

3. 定期检查续期(避免因过期导致服务中断)。

> 小贴士: Let's Encrypt的ACME工具(如Certbot)可自动化SAN/通配符证书申请和续期命令示例:

> ```bash

> certbot certonly --nginx -d shop.com -d blog.shop.com -d api.shop.coom

> ```

现在就去试试吧!让你的所有站点都穿上“加密盔甲”,安全又省心!

TAG:nginx多域名ssl证书,nginx 多证书,nginx ssl pem,nginx多证书配置