SSL迁移常被误认为把旧证书文件复制到新服务器即可,实际涉及私钥交接、证书链配置、CA重新签发、SNI与CDN回源验证等多个环节。一次规范的迁移应同时满足业务连续、私钥可控和证书可信三个目标。核心逻辑是:先盘点证书资产和停机边界,再决定导出复用还是重新签发;能重签的公网业务优先重签;部署后用链完整性、协议版本和业务回归交叉验证,并保留可执行的回滚方案。下面按迁移前、导出、重签、部署验证和切换监控五个阶段展开。

一、迁移前先盘点证书资产与停机边界

迁移前应建立证书资产清单,至少记录主域名与SAN域名、签发CA、证书类型、到期时间、私钥存放位置、部署节点、是否启用SNI、是否配置HSTS以及续签方式。场景举例:某站点主域名加三个子域共用一张多域名证书,证书剩余45天,而迁移窗口预计两周,此时直接重签比导出旧证书更稳妥,既能覆盖迁移风险,也能顺带完成续期。

第一,确认迁移触发原因。服务器搬迁、云WAF接入、域名更换、CA替换和负载均衡扩容对应的操作不同,域名更换往往需要重新签发而不是导出旧证书。

第二,标记停机边界和依赖方。把CDN、回源链路、移动端API、支付回调和小程序服务端纳入清单,避免只验证浏览器而漏掉非浏览器客户端。

第三,提前降低DNS TTL。若计划切换IP或CDN,建议在迁移前24小时把TTL降到300秒,为回滚留出时间窗口。

二、证书导出与私钥安全交接

导出前先确认私钥可导出且与证书匹配。可通过证书指纹、公钥模数或CA提供的校验方式比对,避免导出后才发现私钥与证书不配对。导出格式按目标环境选择:Nginx常用PEM证书加私钥,IIS常用PFX,Java服务常用JKS或PKCS12。无论哪种格式,私钥都属于高敏感资产,迁移过程应按密钥管理而非普通文件传输处理。

第一,控制导出权限和临时文件。导出操作应由最少人员执行,临时文件权限设为仅所有者可读,传输使用加密通道,禁止通过聊天工具或普通邮件附件发送。

第二,PFX和压缩包必须设置强密码。密码与文件分开传递,迁移完成后立即销毁临时副本;若私钥曾在不受控环境出现,应直接重新签发并轮换密钥。

第三,检查证书链顺序。服务器证书文件通常应按叶子证书、中间证书顺序拼接,根证书一般由客户端内置,不应随意塞入服务器链文件。链文件缺失中间证书是迁移后浏览器报错的常见原因。

三、重新签发:能重签优先,CSR与验证要点

除内部测试或旧证书仅剩数天的应急场景外,公网业务建议重新签发。重签可以生成新私钥,降低旧私钥扩散风险,也能借机修正SAN遗漏、链配置错误和协议兼容问题。重新签发并不复杂,关键是提前准备CSR、域名验证和CAA记录。

第一,本地生成新私钥和CSR。RSA建议2048位或3072位,ECC可选P-256;私钥应在目标服务器或受控密钥库中生成,CSR提交给CA,私钥不上传。多域名证书要一次性列全主域名和SAN,避免部署后才发现漏配。

第二,提前完成域名验证。DNS验证需添加TXT记录,HTTP验证需保证验证路径可访问,文件验证要注意CDN缓存和重定向。若域名配置了CAA记录,应确认其允许所选CA签发,否则验证会失败。

第三,规划证书类型和有效期。DV证书适合一般站点,OV/EV适合对组织身份展示有要求的业务;公共CA证书有效期持续缩短,常见为90天到398天,具体以CA策略为准。重签期间保留旧证书和旧配置,待新证书验证通过后再切换。

四、部署验证:链、协议、SNI与业务回归

证书部署完成不等于迁移完成。验证应覆盖证书链、主机名匹配、协议版本、SNI、HSTS和业务回归。建议先在低流量节点或灰度环境部署,使用openssl s_client检查握手和Verify return code,再用外部检测工具交叉验证。若站点接入CDN或负载均衡,要确认证书在边缘节点和回源链路都已更新。

第一,检查证书链和SAN。确认返回的叶子证书与目标域名匹配,中间证书完整,链验证返回0。多域名站点要逐个SAN域名测试,不能只测主域名。

第二,检查协议和加密套件。关闭TLS 1.0和TLS 1.1,启用TLS 1.2和TLS 1.3;HSTS若已启用,先用较小max-age测试,确认全站HTTPS和子域覆盖后再逐步提高。

第三,做业务回归和混合内容检查。浏览器控制台不应出现混合内容告警,移动端、API客户端、支付回调和CDN回源都要抽样验证。外部评分可参考SSL Labs,目标至少A级,关键业务可追求A+。

五、切换、回滚与持续监控

切换阶段应控制变更范围。通过DNS低权重、灰度节点或分批发布把影响面限制在可观测范围内,观察24到48小时。回滚包要包含旧证书、旧私钥、旧链文件和旧服务配置,并确认回滚步骤在10分钟内可执行。迁移完成后还要把证书到期、链变化和握手中断纳入监控,避免下一次故障来自忘记续签。

第一,设置到期告警。至少提前30天告警,自动化续签环境要监控续签任务是否成功,而不是只看证书文件是否存在。

第二,监控握手失败和链变化。对核心域名每分钟或每5分钟抽样握手,记录证书指纹和链信息,异常时触发通知。

第三,审计并销毁临时资产。迁移结束后清理临时私钥、PFX、压缩包和测试证书,保留必要的操作记录和最终配置基线。

FAQ问答

Q1:SSL迁移能否直接复制旧证书到新服务器?

A:可以,但仅适合旧证书仍有效、私钥可导出且迁移周期很短的场景。公网业务更建议重新签发,避免私钥扩散和链配置遗漏。

Q2:导出私钥时最需要控制什么?

A:控制导出权限、传输加密和临时文件生命周期。使用带密码的PFX或加密压缩包,迁移完成后立即销毁临时副本;若私钥曾暴露,应轮换密钥并重签。

Q3:重新签发证书一般需要多久?

A:DV证书在域名验证通过后通常几分钟到数小时完成;OV/EV证书需人工审核,可能1到3个工作日。提前处理DNS TXT和CAA记录可减少等待。

Q4:部署后浏览器仍提示证书错误怎么办?

A:先检查证书链是否缺少中间证书、SAN是否覆盖当前域名、系统时间是否正确。再用openssl和外部检测工具交叉验证,排除CDN节点未同步或回源配置不一致。

Q5:如何确认迁移后旧协议已关闭?

A:用openssl s_client分别指定tls1、tls1_1测试应失败,指定tls1_2、tls1_3应成功。同时检查负载均衡、CDN回源和备用端口的配置是否一致。

总之,网站SSL迁移应把证书当作需要审计和交接的资产,而不是可随意复制的文件。先盘点域名、到期日和依赖方,优先重新签发,严格管理私钥导出与临时文件,部署后验证证书链、协议版本、SNI和业务回归,并保留回滚包与到期监控。按清单执行,才能把迁移停机与证书告警降到最低。