文档首页> 技术教程> HTTP 迁 HTTPS 的完整步骤与回退预案

HTTP 迁 HTTPS 的完整步骤与回退预案

发布时间:2026-06-08 16:08        更新时间:2026-06-09 01:35
迁移 HTTPS 当天最容易翻车的不是换证书,而是页面和数据库里没改干净的内部链接。步骤和回退方案都备好,整个过程可以做到无感切换。 一、签证书与配置跳转 用 certbot 签发证书,签发时把 www 和裸域一起签,漏掉一个是跳转后报证书域不匹配的常见原因。nginx 里让 80 端口对所有请求返回 301 到 https。HSTS(强制浏览器只走 https 的安全策略)先别急着加:它一旦下发,浏览器会在有效期内强制 https,连回退都困难,等稳定运行一段时间再开。 二、清理内部链接 模板里写死的 http:// 链接全部排查出来: grep -rn "http://" /path/to/templates/ 数据库富文本里的旧链接批量替换,替换前先备份;替换语句先在测试库演练一遍,影响行数符合预期再上生产。第三方资源(统计脚本、图床文件)逐个确认支持 https,拿不准的先换成自托管。混合内容会被浏览器标红,用开发者工具的 Console 面板看警告,页面里还引用 http 资源的位置会直接列出来,逐条清零再收工。 三、搜索引擎侧的配合 站长平台提交 https 版本的站点,sitemap 全部更新为 https 地址,页面的 canonical 标签指向 https 版本。站外的旧链接不用手动处理,301 会把权重逐步转移过去,这个过程以周计,期间收录数据有波动属于正常。 四、回退预案 上线前把旧 nginx 配置完整备份,出问题时一条 include 切换回旧配置再 reload,就能恢复访问。CDN 或 DNS 侧如果配了强制跳转,先关掉再验证,避免多层跳转叠加干扰判断。原则是先恢复访问再排查:线上不做现场调试,把流量切回去,拿测试环境慢慢复现问题。回退后把问题记进变更单,第二次切换时逐条核对,第二次翻车往往比第一次更伤。 迁完的第一周,每天看一遍证书有效期和访问日志里 4xx、5xx 的比例,没有异常波动的迁移才算完成。