一、方案选择与原理说明
宝塔面板默认不支持单站点绑定多个SSL证书,需通过修改Nginx配置文件实现多域名证书绑定。其核心原理是为每个域名创建独立的server配置块,通过不同证书路径实现证书分离。
域名 | 证书路径 |
---|---|
www.abc.com | /www/server/panel/vhost/cert/abc/fullchain.pem |
m.abc.com | /www/server/panel/vhost/cert/abc/mobile.pem |
二、证书文件准备与上传
按以下步骤准备证书文件:
- 从证书颁发机构下载各域名对应的证书文件包
- 通过SSH或宝塔文件管理器上传至目录:
/www/server/panel/vhost/cert/站点目录/
- 确保证书文件命名规范,推荐格式:
域名_bundle.crt
和域名.key
三、配置文件修改步骤
在站点配置文件中进行如下操作:
- 复制默认server配置块并修改域名参数
- 修改ssl_certificate和ssl_certificate_key路径指向新证书文件
- 删除重复的listen 80端口配置
server { listen 443 ssl http2; server_name www.abc.com; ssl_certificate /www/server/panel/vhost/cert/abc/www_bundle.crt; ssl_certificate_key /www/server/panel/vhost/cert/abc/www.key; # 原配置内容... server { listen 443 ssl http2; server_name m.abc.com; ssl_certificate /www/server/panel/vhost/cert/abc/m_bundle.crt; ssl_certificate_key /www/server/panel/vhost/cert/abc/m.key; # 相同配置内容...
四、CDN特殊场景处理
当域名开启CDN加速时,需额外注意:
- 在CDN服务商处同步上传SSL证书
- 保持源站证书与CDN证书一致
- 禁用CDN的HTTP回源协议