核心是证书覆盖所有域名且服务器正确关联:选SAN证书(跨主域)或通配符证书(仅单层子域,根域需加SAN),Nginx为每个域名配独立server块并共用同一证书路径,宝塔须批量绑定后重签而非重复部署。
多域名 SSL 证书配置,核心就两点:证书本身得覆盖所有要用的域名,Web 服务器得把每个域名正确关联到这张证书。不是简单“上传一次就行”,而是要确保域名在证书里、配置里、DNS 解析里三者一致。
一张证书要管多个域名,必须是支持多域名的类型:
example.com、www.example.com、shop.example.com、api.another-site.net —— 它们可以跨主域,但每个都得手动填进去。www.example.com 和 api.example.com,但不能用于 example.com(根域)或 dev.api.example.com(二级子域)。如果需要根域,必须额外加进 SAN 列表。不要试图让多个域名共用一个 server 块去套证书。正确做法是为每个域名单独写一个 server { ... },全部指向同一组证书文件:
server_name 必须和证书里的某个域名完全一致(大小写不敏感,但带不带 www 算不同域名);ssl_certificate 和 ssl_certificate_key 路径要写对,且所有块引用的是同一对文件;宝塔默认界面每次部署会覆盖前一次配置。想让多个域名共用一张证书,得走“批量绑定+重签”路径:
证书生效≠一劳永逸:
openssl s_client -connect example.com:443 -servername example.com 可直接检查证书实际包含哪些域名。