将网站从 HTTP 切换到 HTTPS,意味着在服务器上安装 SSL 证书,将网站指向其 https 网址,并重定向旧的 http 网址,以免有遗漏。这项工作在大多数网站上只需一个下午即可完成。以下是分为六个步骤的完整流程,以及大家最常问到的五个平台上该设置所在的位置。
快速回答:获取一张 SSL 证书(大多数主机都会免费颁发一张),将其安装到服务器上,在你的平台设置中将网站网址从 http 改为 https,添加一个 301 重定向以便旧链接能够跟随,修复仍以 http 方式加载的内容,然后在 Google Search Console 中添加 https 属性并重新提交站点地图。
SSL(Secure Sockets Layer 的缩写,尽管如今颁发的证书全部使用 TLS)正是让 https 得以实现的关键。如果你想先了解背景知识,可以阅读 什么是 SSL 证书。
如何用 6 个步骤从 HTTP 切换到 HTTPS
- 获取一张 SSL 证书。可以从主机商或 Let’s Encrypt 免费获取,如果需要保修、经过验证的公司信息或通配符覆盖,则可以选择付费证书。
- 将其安装到服务器上。可以通过主机面板、Certbot,或从 CSR 手动安装。
- 让你的平台指向其 https 网址。每个 CMS 都会存储自己的站点地址,因此必须进行更新。
- 在服务器层面用 301 永久重定向 http 到 https。
- 修复仍以 http 方式加载的内容:混合内容、内部绝对链接、缓存和订阅源。
- 通知搜索引擎。在 Search Console 中添加 https 属性,重新提交站点地图,检查你的规范链接(canonical)。
下面对每个步骤进行了详细说明。如果你已经有证书,只需要设置平台,请直接跳到第 3 步。
开始之前:请备份你的网站及其数据库,如果你有测试环境,先在那里进行更改。以下有两个步骤,如果证书出现问题,可能会导致你无法登录自己的管理后台,因此备份就是五分钟修复问题和一个糟糕下午之间的区别。如果是在线商店,请在非高峰时段进行操作:结账功能每停用一分钟,就可能损失一笔订单。
为什么现在就要切换:Chrome 将于 2026 年 10 月默认使用 HTTPS
支持 HTTPS 的常见理由依然成立,但现在有了明确的截止日期,这改变了那些仍在拖延此事的人的考量。
Chrome 正分两个阶段默认开启始终使用安全连接(Always Use Secure Connections)。在 2026 年 4 月,Chrome 147 为所有启用了增强型安全浏览的用户(超过十亿人)启用了该功能。在 2026 年 10 月,Chrome 154 将其扩展至全球所有用户。启用该功能后,Chrome 会优先尝试使用 https,并在加载用户从未访问过的公开 http 网站之前显示警告。
换句话说,如果你的网站在 2026 年 10 月之后仍然使用 http,很大一部分访问者在到达网站之前都会看到一个插页式警告。路由器和内部网等私有地址的处理方式不同,默认情况下不会显示警告。
HTTPS 现在也关乎速度
大多数迁移指南都遗漏了这一点。HTTP/2 在形式上并不要求加密,但从来没有任何主流浏览器在未加密连接上实现过该协议,因此实际上你无法在不使用 HTTPS 的情况下使用它。HTTP/3 更进一步:它要求使用 TLS 1.3,根本没有未加密模式。因此,继续使用 http 会使你的网站无法使用这两种现代传输协议,也无法享受随之而来的性能提升。
那些熟悉的理由依然适用。浏览器会将 http 页面标记为不安全,没有证书的情况下,表单数据和密码会以明文形式传输,支付网关拒绝在 http 上运行,而且自 2014 年以来,Google 一直将 HTTPS 视为一项排名信号。最后这一点确实存在,但影响较轻,因此应将其视为附加好处,而非切换的主要理由。
第 1 步:获取一张 SSL 证书
请先查看你的主机面板。目前大多数主机都会通过 SSL/TLS 或 AutoSSL 部分颁发免费的 Let’s Encrypt 证书,很多主机其实已经颁发了一张,只是你尚未使用。免费证书对流量的加密效果与付费证书完全相同;区别在于证书颁发机构在签发前进行了哪些验证,以及出现问题时能提供什么样的保障。
| 类型 | CA 会检查什么 | 颁发时间 | 适用场景 |
|---|---|---|---|
| 域名验证型(DV) | 你对该域名拥有控制权 | 几分钟 | 博客、宣传型网站、大多数小型网站 |
| 组织验证型(OV) | 域名以及你注册的组织信息 | 1 至 3 个工作日 | 企业网站、会员区域、客户门户 |
| 扩展验证型(EV) | 对公司进行完整的法律和运营核查 | 1 至 3 个工作日 | 商店、金融行业,以及任何身份验证至关重要的场合 |
如果你的网站使用了子域名,一张通配符证书就能用一张证书覆盖所有子域名。不确定该选择哪种类型?SSL 向导通过几个问题就能帮你缩小范围,或者你也可以直接浏览证书列表。
无论你选择哪一种,都有一件事需要提前规划:Let’s Encrypt 证书的有效期为 90 天,通常会在到期前约 30 天自动续期。一旦这种自动化机制出现故障(确实会发生),网站会在数周内正常运行,然后在没有任何警告的情况下变得不安全。请确认自动续期功能已开启,并在首次预期续期日期之后检查一次证书。
第 2 步:将证书安装到服务器上
- 主机面板。最快捷的方式。在 cPanel 中,SSL/TLS 位于安全(Security)栏目下。请同时为主域名和 www 版本颁发证书,如果漏掉其中一个,会出现名称不匹配的警告。
- 在没有面板的 VPS 上使用 Certbot。它会颁发证书、配置服务器,并安装自己的续期定时任务。
- 付费证书手动安装:使用 CSR 生成器或我们关于如何生成 CSR 的 70 多篇教程之一生成 CSR,完成验证,然后安装证书、私钥和中间证书。我们还提供了80 多篇 SSL 安装指南,包括 cPanel 的指南。
在进行下一步之前先进行验证。针对你的域名运行 SSL Checker。最常见的隐性故障是证书链不完整:由于桌面浏览器已经从其他地方缓存了中间证书,网站在其中会显示挂锁图标,而移动浏览器和支付网关却会验证失败。检测工具会报告这一问题。
第 3 步:让你的平台指向其 HTTPS 网址
一张可正常使用的证书能让 https 可用。但你的网站仍会继续生成 http 链接,除非你告诉它不要这样做,因为每个 CMS 都会存储自己的地址。以下是该设置在各平台中的位置。
| 平台 | 设置所在位置 |
|---|---|
| WordPress | 设置 > 常规,同时更改 WordPress 地址(URL)和站点地址(URL)。自 5.7 版本起,核心程序还会在两者都设为 https 后重写内容中不安全的网址,站点健康检查还提供一键切换功能 |
| Joomla | 系统 > 全局配置 > 服务器,将强制使用 HTTPS设置为整个站点 |
| PrestaShop | 商店参数 > 常规,运行 HTTPS 检查,将启用 SSL设置为是,然后设置在所有页面上启用 SSL,再保存。第二个开关在第一个设置保存之前一直处于锁定状态 |
| Magento 2 | Stores > Configuration > General > Web,打开 Base URLs (Secure),将安全基础网址设置为 https,然后将 Use Secure URLs on Storefront 和 Use Secure URLs in Admin 都设置为是,点击 Save Config,然后清除缓存。这两个设置会让 Magento 生成 https 网址;但只有后台管理项会强制执行重定向,因此前台商店仍需要执行第 4 步 |
| Drupal | 没有核心设置,.htaccess 中也没有可开启的设置:Drupal 自带的那些被注释掉的规则是在 www 和非 www 之间进行重定向,而非 http 到 https。请在同一个文件中添加第 4 步中服务器层面的规则 |
| Shopify、Wix、Squarespace | 无需任何操作。HTTPS 是自动启用的,无法关闭 |
Drupal 那一行值得再读一遍,因为很多指南在这一点上都写错了。Drupal 的 .htaccess 中确实包含被注释掉的重定向规则,因此很容易误以为它们就是 HTTPS 相关的规则。但事实并非如此。以下是实际内容,它只在 www 和非 www 之间做选择:
# RewriteCond %{HTTP_HOST} .
# RewriteCond %{HTTP_HOST} !^www. [NC]
# RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
请注意最后一行中的 protossl 变量:它会保留请求到达时所使用的协议,因此取消注释这些规则后,http 访问者仍会停留在 http 上。请改用第 4 步中普通的 Apache 规则。
如果你的平台不在此列,也不必费心寻找对应的设置。下一步中服务器层面的重定向无论上层运行的是什么平台都同样有效。
第 4 步:将 HTTP 永久重定向到 HTTPS
你的页面现在可以通过 https 访问,但它们仍然可以通过 http 访问,而所有旧链接、书签以及已被索引的网址都指向 http。永久重定向可以解决这个问题。
必须使用 301,而不是临时的 302。301 会告诉搜索引擎这次迁移是永久性的。Google 表示 301 及其他永久重定向不会导致 PageRank 的损失,这一点值得了解,因为对排名下降的担忧正是导致许多网站迟迟不肯从 http 迁移的原因。
在 Apache 中,将以下内容添加到网站根目录下 .htaccess 文件的靠前位置:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
该条件必须写为 off,意思是“当请求尚未处于安全状态时进行重定向”。如果写成“on”(在已发布的代码片段中,这种错误出人意料地常见),它只会在请求已经是 https 时触发,然后再次将其发送到 https,从而形成死循环。
在 Nginx 上没有 .htaccess。请编辑 server 配置块:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
使用 nginx -t 进行测试,然后使用 systemctl reload nginx 重新加载。
如果添加此配置后立即出现 ERR_TOO_MANY_REDIRECTS 错误,通常原因是像 Cloudflare 这样的代理被设置为灵活(Flexible)SSL 模式:它以 http 方式与你的服务器通信,而你的服务器又将其重定向到 https,于是二者之间反复来回弹跳请求。请将加密模式设置为完全(严格)(Full (strict)),并在源服务器上保留一张有效证书。
第 5 步:修复仍以 HTTP 方式加载的内容
混合内容。一个通过 https 提供服务的页面,如果仍然通过 http 拉取图片、脚本或样式表,就属于混合内容。浏览器会悄悄升级部分资源(主要是图片和媒体),而对其他资源则直接拒绝加载,这就是为什么受影响的页面可能会完全没有样式地显示出来。浏览器控制台会指出出问题的具体文件。我们关于如何修复混合内容的指南涵盖了具体的诊断方法。
内部绝对链接。你自己网站上任何写成完整 http 地址的链接仍然指向 http,每次点击都会多经过一次重定向跳转。相对链接则无需任何处理。这一步几乎总是被忽略,而它恰恰是“迁移已经完成”和“迁移只是勉强能用”之间的区别所在。
缓存、CDN 和订阅源。请清除你的页面缓存和 CDN 缓存,否则 http 页面的缓存副本会持续提供旧的标记内容,让已经完成的迁移看起来像是出了故障。然后检查数据库“查找与替换”操作无法触及的地方:电子邮件模板、发票、产品信息流,以及任何第三方服务中存储的关于你网站的信息。
如何确认迁移已经成功
依次进行四项检查。
- 在浏览器中输入你的 http 地址,确认它会跳转到 https,而不是直接加载。
- 对你域名的 www 和非 www 版本执行同样的操作,因为如果证书只覆盖其中一个版本,另一个版本会出现名称不匹配的错误。
- 打开几个内页,而不仅仅是首页,确认每个页面都能保持挂锁图标。
- 然后再次运行 SSL Checker,它能发现浏览器无法向你显示的证书链和到期问题。
第 6 步:通知搜索引擎
- 在 Google Search Console 中添加 https 属性。http 属性不会报告 https 网址的相关数据。请添加新属性并保留旧属性,或者使用可同时覆盖两种协议的域名属性。
- 使用 https 网址重新提交你的站点地图。Google 指出,提交站点地图有助于加快迁移期间的收录发现速度。
- 检查你的规范标签(canonical)是否指向 https。大多数 SEO 插件会在站点网址更改后自动更新,但请在页面源代码中进行确认。
- 更新分析工具、广告平台以及任何存储了你网站网址的第三方服务。
不要使用“更改地址”工具。这一点常常让细心的人也踩坑,因为提交地址变更似乎正是你理应采取的操作。Google 将 http 到 https 的切换归类为“带网址变更的站点迁移”,因此请遵循 Google 的站点迁移指南。该指南明确指出,如果你是从 HTTP 迁移到 HTTPS,则无需使用“更改地址”工具。该工具应保留用于迁移到一个完全不同的域名的情况。
迁移后可以预期什么
整个操作需要多长时间。如果是在托管主机上,且证书已经颁发好了,大约需要十五分钟。如果需要颁发免费证书并配置平台,大约需要半小时。付费证书还需要额外等待验证时间:域名验证只需几分钟,组织验证或扩展验证则需要 1 至 3 个工作日。修复混合内容是最不确定的部分,取决于你的内容中有多少硬编码链接。
Google 处理需要多长时间。比实际操作耗时更长。Google 关于站点迁移的指南指出,对于中等规模的网站,大多数页面在索引中完成迁移需要几周时间,规模更大的网站则需要更长时间。在此期间,你的展示次数会显示为在 http 和 https 两个属性之间分散,排名也会出现波动。这是站点迁移中的正常现象,而不是出了问题的迹象。
一旦 https 稳定运行一段时间后,可以考虑启用 HSTS,它会告诉浏览器彻底拒绝对你域名使用普通 http,从而消除首次请求与重定向之间的时间差。一开始请先不要启用 preload 指令:它一旦启用就很难撤销,而且会导致任何仍在使用 http 的子域名变得无法访问。
如果仍有问题没有解决,SSL 错误指南能帮助你处理特定的浏览器错误代码。
可以从 HTTPS 切换回 HTTP 吗?
从技术上讲可以,只需移除重定向并恢复你的网站网址即可。但实际上,你几乎永远不应该这样做。这相当于进行第二次站点迁移,会带来第二轮索引波动,而浏览器警告也会立刻卷土重来——2026 年 10 月之后,这意味着大多数访问者都会看到插页式警告。如果你已经启用了 HSTS,浏览器会在该策略到期之前一直拒绝对你的域名使用 http,因此回退操作甚至无法顺利完成。
唯一常见的例外是本地开发环境,在这种环境中,使用自签名证书或者在他人无法访问的机器上使用普通 http 都是正常的。如果一个正式上线的网站在 https 下出现异常,原因几乎总是证书问题、混合内容问题或重定向循环,而修复这些问题远比撤销整个迁移要划算得多。
常见问题解答
在服务器上安装 SSL 证书,在平台设置中将网站网址从 http 改为 https,添加 301 重定向以便旧的 http 链接能够跟随,修复仍以 http 方式加载的内容,然后在 Google Search Console 中添加 https 属性并重新提交站点地图。在大多数网站上,这项工作在一小时之内即可完成。
不能。HTTPS 就是通过 TLS 连接传输的 HTTP,而如果没有浏览器信任的证书,就无法建立这种连接。没有任何设置、插件或重定向能够在没有证书的情况下生成 https。你可以做的是免费获取一张证书:大多数主机都会颁发免费的 Let’s Encrypt 证书,而在你自己管理的服务器上,Certbot 可以通过命令行完成这一操作。
不会自动完成。安装证书只是让 https 变得可用;它并不会阻止 http 继续工作。有些平台会在你开启相应设置后进行重定向,有些主机也会为你添加重定向,但你应当亲自确认,而不是想当然地认为已经生效。将你的 http 地址输入浏览器:如果没有跳转到 https,请添加第 4 步中服务器层面的规则。
这项工作通常需要十五分钟到一小时,具体取决于证书是否已经存在,以及混合内容的多少。证书本身的获取,域名验证型是即时完成的,组织验证型或扩展验证型则需要 1 至 3 个工作日。之后,Google 需要几周时间才能在中等规模网站的索引中完成大部分页面的迁移,大型网站则需要更长时间。
只要每个 http 网址都通过 301 重定向到对应的 https 网址,就不会造成永久性影响。Google 表示永久重定向不会导致 PageRank 损失。在 Google 重新抓取的几周内,可以预期会出现一些波动,并且展示次数在此期间会显示为在你的 http 和 https 两个 Search Console 属性之间分散。持续性的下降几乎总是源于遗漏的重定向,而不是 HTTPS 本身。
不需要,Google 对此有明确说明。http 到 https 的切换遵循 Google 的“带网址变更的站点迁移”指南,该指南明确指出,如果你是从 HTTP 迁移到 HTTPS,则无需使用“更改地址”工具。该工具应保留用于迁移到一个真正不同的域名的情况。
协议本身是免费的。证书也可以是免费的,通过 Let’s Encrypt 或你主机商提供的免费 SSL 即可获得。付费证书能提供免费证书所不具备的东西:保修保障、通过 OV 或 EV 验证并写入证书的组织信息、更便捷的子域名通配符覆盖、更长的有效期以减少续期管理工作,以及在颁发出现问题时提供的支持服务。
正在使用某个特定平台?我们还提供了 WordPress、Joomla 和 PrestaShop 的详细指南。

