SSL 证书多域名绑定如何配

作者:袖梨 2026-08-10

核心是证书覆盖所有域名且服务器正确关联:选SAN证书(跨主域)或通配符证书(仅单层子域,根域需加SAN),Nginx为每个域名配独立server块并共用同一证书路径,宝塔须批量绑定后重签而非重复部署。

多域名 SSL 证书配置,核心就两点:证书本身得覆盖所有要用的域名,Web 服务器得把每个域名正确关联到这张证书。不是简单“上传一次就行”,而是要确保域名在证书里、配置里、DNS 解析里三者一致。

选对证书类型:SAN 或通配符

一张证书要管多个域名,必须是支持多域名的类型:

  1. SAN(Subject Alternative Name)证书:最常用。申请时明确列出所有域名,比如 example.comwww.example.comshop.example.comapi.another-site.net —— 它们可以跨主域,但每个都得手动填进去。
  2. 通配符证书(*.example.com):只匹配单层子域,比如能用在 www.example.comapi.example.com,但不能用于 example.com(根域)或 dev.api.example.com(二级子域)。如果需要根域,必须额外加进 SAN 列表。

Nginx 配置:一个域名一个 server 块

不要试图让多个域名共用一个 server 块去套证书。正确做法是为每个域名单独写一个 server { ... },全部指向同一组证书文件:

  1. 每个 server_name 必须和证书里的某个域名完全一致(大小写不敏感,但带不带 www 算不同域名);
  2. ssl_certificatessl_certificate_key 路径要写对,且所有块引用的是同一对文件;
  3. 确保 Nginx 版本 ≥ 1.15.9,SNI 支持默认开启,无需额外开关。

宝塔面板实操:别点两次“部署SSL”

宝塔默认界面每次部署会覆盖前一次配置。想让多个域名共用一张证书,得走“批量绑定+重签”路径:

  1. 新建站点时,在「域名」框里一次性填入所有域名(主域名在前,换行或空格分隔),再勾选“申请 Let’s Encrypt SSL”;
  2. 已有站点追加域名:进「域名管理」添加新域名 → 回到「SSL」页 → 点「申请证书」下拉菜单 → 选「重新申请(保留原域名列表)」;
  3. 切忌对同一个站点反复点击「部署SSL」,否则后一次会把前一次的证书路径覆盖掉,导致部分域名 HTTPS 失效。

验证与维护:别漏了续期和 DNS

证书生效≠一劳永逸:

  1. Let’s Encrypt 证书90天过期,确保自动续签任务正常运行(宝塔默认启用,可进「计划任务」查看 acme.sh 日志);
  2. 新增域名后,必须先完成 DNS 解析(A 记录指向服务器 IP),否则签发或续签会因验证失败而中断;
  3. openssl s_client -connect example.com:443 -servername example.com 可直接检查证书实际包含哪些域名。

相关文章

精彩推荐