目录导航
多域名HTTPS证书的两种类型
实现多域名HTTPS加密主要有以下两种方案:
- 多域名SSL证书(SAN证书):单张证书可保护多个完全独立的主域名或子域名,例如同时保护www.example.com、mail.example.net和shop.another.com。支持动态添加或删除域名,适合跨业务线场景
- 通配符证书:覆盖单一主域名的所有二级子域名,如*.example.com可保护blog.example.com、api.example.com等。适用于单一业务体系下的多子域名管理
快速生成方法及步骤
方法一:通过CA机构申请多域名证书
- 在JoySSL、Let’s Encrypt等平台注册账号,选择多域名证书类型(DV/OV)
- 提交需绑定的域名列表和CSR文件(系统可自动生成)
- 通过DNS解析验证或文件验证域名所有权
- 下载签发后的证书文件包(通常包含.crt、.key和CA证书链)
方法二:使用OpenSSL手动生成
# 生成私钥 openssl genrsa -out multidomain.key 2048 # 创建包含多个SAN的配置文件 echo "subjectAltName=DNS:domain1.com,DNS:domain2.net" > multidomain.cnf # 生成CSR请求 openssl req -new -key multidomain.key -subj "/CN=primary-domain.com" -config multidomain.cnf -out multidomain.csr
将生成的CSR提交至CA机构完成签发流程
技术实现关键点
部署多域名证书时需注意:
- Web服务器配置需明确指定证书文件和私钥路径(如Nginx的ssl_certificate和ssl_certificate_key指令)
- HAProxy等代理服务器需编译支持TLS SNI扩展,确保能识别不同域名的证书请求
- 使用自动化工具Certbot时,可通过
--webroot
参数指定多个域名验证目录
注意事项与最佳实践
有效期管理: Let’s Encrypt证书默认90天有效期,建议通过cron任务配置自动续期脚本
多服务器支持: 同一证书可在不同服务器部署,但需确保私钥安全共享
混合部署方案: 通配符证书与多域名证书组合使用,例如用*.api.example.com覆盖所有API子域名,同时单独保护跨域主站
结论: 通过合理选择证书类型(多域名/SAN证书或通配符证书),结合自动化工具与手动生成方案,可高效实现多域名HTTPS加密。建议优先采用CA机构签发的商业证书保障兼容性,开发测试环境则可使用自签名证书降低成本