网站从 HTTP 升级到 HTTPS:SSL 部署与混合内容排查
如果网站还在用 HTTP,现在已经不是「要不要升级」的问题,而是「必须升级」—— 主流浏览器会对 HTTP 页面显示「不安全」警告,搜索引擎也把 HTTPS 作为排名因素。
一、不升级 HTTPS 会有什么后果
| 影响面 | 具体表现 |
|---|---|
| 浏览器警告 | 地址栏显示「不安全」,含表单的页面警告更醒目 |
| 访客流失 | 看到安全警告直接关闭页面的访客比例很高 |
| SEO 劣势 | 搜索引擎明确将 HTTPS 作为排名加分项 |
| 数据风险 | 表单提交的内容(姓名、电话)以明文传输,可被中途截取 |
| 功能受限 | 部分支付接口、API 要求必须 HTTPS |
| 数据统计失真 | 搜索引擎统计工具可能无法正常记录 HTTP 站点的数据 |
二、申请证书:DV 还是付费
| 类型 | 签发时间 | 有效期 | 适合场景 |
|---|---|---|---|
| 免费 DV(Let's Encrypt 等) | 几分钟 | 90 天(需自动续期) | 个人站、博客、测试环境 |
| 付费 DV | 几分钟~几小时 | 1 年 | 绝大多数企业网站(推荐) |
| OV 组织验证 | 1~3 天 | 1 年 | 电商、需核验企业身份的站点 |
| 通配符 | 视验证方式 | 1 年 | 有多个子域名的企业 |
关键认知:加密强度方面,免费 DV 和付费证书完全相同。差别在有效期限、验证深度和技术支持。
免费证书最大的风险不是安全性,而是续期失败导致网站被拦。如果主机不支持自动续期,一旦过期就会出现全站拦截 —— 这个损失比证书本身的价值大得多。所以商业站点建议用 1 年期付费 DV(几十元),省心得多。
三、部署证书
虚拟主机(最常见)
- 登录主机控制面板,找到「SSL/TLS」「安全证书」或「HTTPS」入口
- 选择「上传自有证书」或「一键申请免费证书」
- 粘贴证书内容(.crt/.pem)和私钥(.key)
- 保存并等待生效(通常几分钟)
- 开启「强制 HTTPS」或「HTTPS 跳转」
关键细节:部分面板要求同时粘贴域名证书和中间证书(CA 链)。如果只贴了域名证书,浏览器会报「证书链不完整」错误。正确做法是把中间证书内容拼接在域名证书之后一起粘贴。
云服务器
需要自行配置 Web 服务器:
- Nginx:在 server 块中配置 ssl_certificate 和 ssl_certificate_key
- Apache:配置 SSLCertificateFile、SSLCertificateKeyFile、SSLCertificateChainFile
- IIS:导入 .pfx 格式证书,在站点绑定中添加 https 绑定
同时建议配置 HTTP → HTTPS 的 301 跳转规则。
四、强制 HTTPS 跳转
证书装好后,如果不配置强制跳转,访客仍可能通过 http:// 访问到未加密版本。需要把 HTTP 流量 301 重定向到 HTTPS。
为什么用 301 而不是 302:301 是永久重定向,能把原 HTTP 页面的权重传递给 HTTPS 版本。302 是临时重定向,不传递权重。
虚拟主机
多数虚拟主机面板提供「强制 HTTPS」开关,直接开启即可。
Apache(.htaccess)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Nginx
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
五、混合内容:升级后最常见的问题
混合内容(Mixed Content)指的是:页面本身通过 HTTPS 加载,但页面里的某些资源(图片、CSS、JS、字体)仍通过 http:// 加载。
浏览器会把这些不安全资源拦截或降级处理,表现为:
- 浏览器地址栏的锁标志变成灰色或显示警告
- 部分图片不显示
- 页面样式错乱(CSS 没能加载)
- 某些交互功能失效(JS 没能加载)
怎么找出混合内容
- 用浏览器打开 HTTPS 页面
- 按 F12 打开开发者工具
- 查看 Console(控制台)面板 —— 混合内容会以红色警告显示,并给出具体的资源地址
怎么修复
| 资源类型 | 修复方法 |
|---|---|
| 站内图片/CSS/JS | 把代码里写死的 http:// 地址改成 https:// 或相对路径 |
| 数据库里的内容 | 批量替换数据库中存储的 http:// 为 https://(注意先备份) |
| 第三方资源 | 把外部引用地址改成 https 版本,或本地化 |
| 硬编码在模板里 | 检查主题/模板文件中的资源引用 |
推荐做法:站内资源统一用相对路径(如 /img/logo.png 而不是 http://站点/img/logo.png),这样协议变化时不需要改代码。
六、升级后必须检查的 6 个位置
升级 HTTPS 最容易犯的错误是只测首页。以下位置都要检查:
| 检查位置 | 为什么重要 |
|---|---|
| ① 网站首页 | 基础验证 |
| ② 内页 | 不同页面的资源引用可能不同 |
| ③ 表单页 | 表单提交涉及敏感数据,浏览器警告最严格 |
| ④ 后台/登录页 | 经常被遗漏,但涉及账号密码安全 |
| ⑤ 裸域名与 www 两种形式 | 证书可能只覆盖了其中一种,另一种会报域名不匹配 |
| ⑥ 第三方嵌入内容 | 如地图、客服、统计代码,容易残留 http 资源 |
七、常见故障与解决
故障 1:所有页面都报「连接不安全」
原因:证书未正确安装、证书与域名不匹配、或证书已过期。
解决:确认证书覆盖的域名与访问的域名完全一致(注意 www 与非 www),检查有效期。
故障 2:首页正常,内页图片不显示
原因:混合内容。内页里有 http:// 的图片引用。
解决:按前面的方法用 F12 定位并替换。
故障 3:部分浏览器提示证书错误,部分正常
原因:证书链不完整,或该浏览器/系统版本较老。
解决:补传中间证书;如仍有个别老设备报错,考虑更换兼容性更好的证书品牌。
故障 4:HTTPS 能访问,但 http:// 不跳转
原因:未配置强制跳转规则,或规则配置错误。
解决:检查并添加 301 跳转规则,确认服务器配置已生效。
故障 5:跳转后出现「重定向次数过多」
原因:存在循环重定向。常见于服务器端和 CDN 端都配置了跳转规则,互相冲突。
解决:统一在一处配置跳转规则,避免重复。
八、升级后的额外收益
- HTTP/2 支持:现代协议要求 HTTPS,能让页面加载更快
- 数据统计正常:搜索引擎统计工具的 HTTPS 站点数据更准确
- 用户信任提升:表单提交转化率通常有改善
- 功能扩展空间:后续接入支付、PWA 等功能的前提条件
九、一个提醒
网站搬家、换主机、改 DNS 之后,务必重新检查 HTTPS 状态。常见情况是:搬站后证书没有一并迁移,或者新主机没配置好,导致原本正常的网站突然报证书错误 —— 而搜索和广告链接仍指向该域名,流量损失立竿见影。
建议把 SSL 状态列入网站日常检查清单,尤其是续期时间要设置提醒。
博盛盈提供 SSL 证书(DV、通配符、OV)销售与部署协助。如果遇到混合内容排查不出来、或证书链配置问题,把域名和报错信息发给我们,可以帮你定位处理。
