PAIBAOWORK · B2B DIGITAL GROWTHB2B 建站 · WhatsApp 客户沟通 · AI CRM
泓森互联 · 建站大专题 · SSL 证书分册最后核实 2026-10-13 · v1.0

教程 · 混合内容

混合内容(Mixed Content)修复:定位 → 改法 → 验证

证书没问题,问题在页面里:先定位是哪几个 http 资源被拦截,再按顺序改干净——改数据库前记得先备份。

本文目录 · 9 节
  1. 什么是混合内容(一句话)
  2. 浏览器怎么处理混合内容(决定了你会看到什么)
  3. 第 1 步:定位(三种找法,任选)
  4. 第 2 步:改法(按这个顺序来)
  5. 第 3 步:验证(四件事,五分钟)
  6. 不同的建站方式,修法落在哪
  7. 常见坑(对照处理)
  8. 别和「证书问题」混着修
  9. 现在要做的事

先说结论

  • 混合内容 = 页面是 https、资源还是 http:脚本、样式、iframe 这类主动资源会被浏览器直接拦截(表单点不动、排版错乱),图片、音视频这类被动资源会先自动升级、升级不了才拦。
  • 定位靠三种方法:F12 控制台搜 Mixed Content、查看源代码搜 http://、一条 curl 命令把首页里的 http 资源列出来;再按图片 / 脚本 / 样式 / iframe / 接口分类。
  • 改法有顺序:先改「网站地址」总开关(WordPress 设置 → 常规两处地址),再批量替换正文里的 http 链接(先备份数据库),第三方资源换 https 版本,Cloudflare 自动 HTTPS 重写只能兜底不能根治。
  • 验证四件事:控制台不再出现 Mixed Content、地址栏「连接是安全的」、关键页面表单实际提交一次、手机(最好安卓)再试一次;别把混合内容和证书链问题混着修。

🤖 把这篇交给你的 AI 智能体

复制后粘贴给你常用的 AI 智能体(豆包、ChatGPT、Claude、Codex 等),它会按同样的步骤带你做完,并在每一步改动前先征求你的同意。不要把密码、密钥发到对话里。

📄 Markdown 版 提示词语言:
查看将要复制的提示词
提示词版本 v1.0 · 最后核实 2026-10-13
✅ 已复制!去粘贴给你的智能体吧

什么是混合内容(一句话)

混合内容(Mixed Content):页面本身是 https://,但里面的图片、脚本、样式、视频还是用 http:// 地址加载。浏览器会拦截或自动升级这些资源,严重时显示「不安全」、页面排版错乱、询盘表单点不动【官】。

你看到的样子背后发生了什么对生意的影响
网址是 https,地址栏却写「不安全」页面里还有 http 资源,浏览器降级提示客户信任打折,Chrome 154(2026-10 起)对无 HTTPS 站点默认先弹警告,氛围只会更严【官】
部分图片不显示、显示裂图http 图片被浏览器拦截产品图、资质图缺失,客户看不到你在卖什么
页面排版错乱、样式错位http 样式表(CSS)被拦网站显得「像坏了」,专业感归零
询盘表单、在线客服点不动http 脚本(JS)被拦客户想联系你,按钮没反应——直接丢询盘
F12 控制台有 Mixed Content 黄/红提示浏览器把每个 http 资源都列了出来这就是你的「待修清单」

浏览器怎么处理混合内容(决定了你会看到什么)

浏览器把混合内容分成两类,处理方式不同【官】:

类别包含哪些资源浏览器怎么处理你看到的结果
主动内容(blockable)脚本、样式表、iframe、AJAX 请求直接拦截,不加载表单点不动、排版错乱、空白框
被动内容(passive/display)图片、音频、视频先尝试自动升级为 https 加载,升级不了才拦截大部分图片还能显示,个别裂图

所以「图片还能看、但表单点不动」很常见——不是你没中招,是浏览器帮你兜了一半。只要 Console 里有 Mixed Content,都要按下面的步骤改干净。

第 1 步:定位(三种找法,任选)

  1. 1. 开发者工具(最准):用 Chrome 打开出问题的页面,按 F12(Mac:Option + Command + I)打开开发者工具,点 Console(控制台),找带 Mixed Content 字样的黄色/红色提示——它会把具体的 http:// 地址写出来。
  2. 2. 看源代码(最快):在网页上右键 → 查看网页源代码,按 Ctrl + F 搜索 http://,逐个确认哪些是「页面资源」而不是普通文字。
  3. 3. 一条命令(适合批量查):
curl -s https://你的域名/ | grep -Eo '(src|href)="http://[^"]+"' | sort -u

把首页 HTML 里所有 http:// 的图片、脚本、样式、链接列出来。注意:这条命令只看首页的静态 HTML,动态加载的内容(比如插件后插入的客服窗口)抓不到,以第 1 种方法的控制台提示为准。

把找到的资源分类,不同类别的改法不一样:

资源类型典型来源被拦后果改法方向
图片(<img src>)文章、产品详情里写死的旧域名地址裂图、图不显示换成 https:// 地址,或改成站内相对路径
脚本(<script src>)统计代码、客服组件、旧插件表单、客服按钮点不动到供应商后台换 https 版本的代码
样式(<link href>)模板里写死的 http CDN排版错乱换成 https 的 CDN 地址
内嵌框(iframe、视频)地图、视频、外部页面显示空白框换成 https 的嵌入地址
表单接口 / AJAX老代码里写死的 http 接口提交失败、报错改成 https 域名或相对路径

第 2 步:改法(按这个顺序来)

① 先改「网站地址」这一处总开关

很多网站(尤其 WordPress)在后台存着一个「网站地址」,所有页面资源都按它拼接。它还是 http:// 的话,改别的地方都白改:

  • WordPress:设置 → 常规,把「WordPress 地址」和「站点地址」两处都改成 https://。

② 批量替换正文里写死的 http 链接

文章、产品详情里手工粘贴过的 http://你的域名/... 图片地址,需要批量替换成 https://:

  • WordPress 可以用数据库搜索替换类插件完成;操作前先备份数据库——搜索替换是整库操作,改错了要能退回来。

改前改后长这样(替换时尽量带上完整域名,缩小误伤范围):

<!-- 改前:写死的 http 地址 -->
<img src="http://你的域名/uploads/2024/product.jpg" />

<!-- 改后(方案一):换成 https -->
<img src="https://你的域名/uploads/2024/product.jpg" />

<!-- 改后(方案二,更省心):改成站内相对路径,换域名/换协议都不用再改 -->
<img src="/uploads/2024/product.jpg" />

③ 第三方资源换成 https 版本

在线客服、地图、统计代码这类「别人给的代码」:到对应供应商的后台,重新复制一份 https 版本的嵌入代码换上去。旧代码里写死的 http:// 供应商地址,现在基本都有 https 版。

④ 用 Cloudflare 的,打开「自动 HTTPS 重写」兜底

域名接入 Cloudflare 的,可以在 SSL/TLS → 边缘证书 里打开 Automatic HTTPS Rewrites(自动 HTTPS 重写):浏览器请求 http 资源时由 Cloudflare 自动改写成 https。注意它只是兜底——第 ② ③ 步把源内容改干净才是根治,否则一旦哪天不走 Cloudflare,问题原样回来。

SSL/TLS → 边缘证书 → 打开 Always Use HTTPS 和自动 HTTPS 重写
示意图SSL/TLS → 边缘证书 → 打开 Always Use HTTPS 和自动 HTTPS 重写

⑤ 顺手升级主题、插件和 CDN

老主题、老插件经常在代码里写死 http 地址,升级到新版本大多已经修好;用了 CDN 的,到 CDN 后台把资源协议改成「跟随页面协议」。

第 3 步:验证(四件事,五分钟)

  1. 1. 控制台干净:回到出问题的页面,按 Ctrl + Shift + R 强制刷新,Console 里不再出现 Mixed Content。
  2. 2. 地址栏正常:点地址栏左侧图标,看到「连接是安全的」→「证书有效」。
Chrome 点地址栏左侧图标 → 连接是安全的 → 证书有效
真实截图Chrome 点地址栏左侧图标 → 连接是安全的 → 证书有效
  1. 3. 关键页面走一遍:首页、产品页、询盘表单各开一次,表单实际提交一次测试——脚本被拦时,页面看起来正常但按钮没反应,只有真点一次才知道。
  2. 4. 多设备再试:手机流量打开一次,最好用一台安卓手机;再按上面的命令抓一次首页,http:// 资源应为空。

不同的建站方式,修法落在哪

你的建站方式修法落点注意
WordPress 自建站设置 → 常规改两处地址;用数据库搜索替换插件改正文;升级主题和插件替换前先备份数据库;不要手改 wp-config.php 里的地址
SaaS 建站平台平台一般自动处理资源;重点查「自定义代码 / 嵌入代码」区块里的 http 链接平台编辑器里搜一次 http://
自建站 / 外包开发让开发把模板里的 http 地址改成相对路径;批量替换内容数据改完做一次全站抓取验证
用了 CloudflareSSL/TLS → 边缘证书 → 打开自动 HTTPS 重写兜底不等于根治,源内容仍要改

常见坑(对照处理)

症状真实原因怎么修
控制台提示的资源改过了,但提示还在浏览器缓存、CDN 缓存、插件缓存强制刷新;清 CDN 缓存;插件缓存清一次
图片地址已经是 https 但还是裂图不是混合内容,是图片本身 404 / 路径错打开图片地址单独看一眼,404 就修路径
数据库替换后页面乱了替换规则太宽,误伤了正文文字用备份还原,替换时带上完整域名缩小范围
表单按钮还是没反应脚本是 https 但接口地址写死成 http 的 IP:端口把接口地址改成 https 域名或相对路径
电脑正常、部分手机图片不显示可能是证书链不完整,不是混合内容用 SSL Labs 查 Chain issues,见下面「别混着修」
只有某些页面报 Mixed Content模板/插件只在特定页面输出 http 代码用第 1 步控制台定位到具体页面和资源,逐个改

别和「证书问题」混着修

对比项混合内容证书问题
网址开头是 https是 https(但证书本身有问题)
现象地址栏「不安全」、图片不显示、表单点不动整页红屏,或电脑正常、手机报错
线索在哪F12 → Console 里的 Mixed Content红屏错误码、SSL Labs 的 Chain issues
修哪里页面里引用的资源地址证书本身、证书链、域名覆盖

分不清是哪种,按浏览器显示「不安全」的 6 种原因与排查逐项对照;红屏类故障先看四种 SSL 故障实景演示。

现在要做的事

  • 不确定自己网站现在是什么状态:先做一次免费的 HTTPS 体检;
  • 证书刚过期导致红屏:先按证书过期 5 分钟应急恢复,再回来修混合内容;
  • 错误码看不懂:SSL 错误码速查 一码一行;
  • 页面里 http 资源太多、自己改不动:可以把本页复制给 AI 智能体(页面顶部有一键复制按钮),让它带你逐条改;也可以预约 30 分钟诊断,或直接看 SSL 证书终身维护服务(600 元/域名 · 长期统一价),把修复和后续监控一起交出去。

答疑

常见问题

网址是 https,为什么还提示「不安全」?

这是混合内容:页面本身是 https,但里面的图片、脚本、样式还是用 http 加载。浏览器会拦截或自动升级这些资源,并在控制台给出 Mixed Content 提示。证书本身没有问题,要修的是页面里引用的资源地址,不是证书。

图片还能正常显示,是不是就不用管混合内容了?

不一定。浏览器对图片、音视频这类被动资源会先尝试自动升级成 https 加载,所以有时看不出来;但脚本、样式、iframe 这类主动资源是直接拦截的,表现为表单点不动、排版错乱。判断标准只有一个:控制台里还有没有 Mixed Content 提示,有就要改干净。

批量替换 http 链接安全吗?

按规矩做就安全:动手前先备份数据库,替换时带上完整域名缩小范围,改完把首页、产品页和表单各验证一次。不要直接手改代码文件或数据库结构,用数据库搜索替换类插件完成正文替换即可。

开了 Cloudflare 的自动 HTTPS 重写,还需要改页面吗?

需要。自动 HTTPS 重写是兜底:访客经过 Cloudflare 时把 http 请求改写为 https,但源站内容里的 http 地址还在,哪天不走 Cloudflare 问题就原样回来。正确顺序是先把网站地址和正文里的资源改成 https,再开着它兜底。

怎么确认混合内容真的修好了?

四步:强制刷新页面后控制台不再出现 Mixed Content;点地址栏图标看到连接是安全的、证书有效;首页、产品页和询盘表单各走一遍,表单要实际提交一次测试;最后用手机流量再打开一次,最好找一台安卓手机。

核实

资料来源与核实记录

价格、政策与版本信息均注明来源和核实日期。

事实来源核实日期
混合内容(Mixed content)的定义与浏览器处理方式:主动内容拦截、被动内容自动升级MDN2026-10-10
Chrome 154(2026 年 10 月)起默认「始终使用安全连接」(公告 2025-10-28)Google 安全博客2026-10-10
Cloudflare 自动 HTTPS 重写(Automatic HTTPS Rewrites):把页面中的 http 资源改写为 httpsCloudflare Docs2026-10-10
WordPress 官方文档:设置 → 常规 中的「WordPress 地址」与「站点地址」wordpress.org2026-10-10
本站《SSL 部署完全指南》第 10.2 节:修复混合内容的查找方法与改法清单本站《网站 SSL 证书免费部署完全指南》2026-10-10

更新记录

2026-10-13 · v1.0:上线:混合内容定位三法(控制台 / 源码 / curl)、按资源类型的改法顺序、五分钟验证清单、与证书问题的区分表。

本专题全文以 CC BY 4.0 协议开源,可转载、改编,请注明出处:GitHub · iPythoning/ssl-guide-zh

延伸

  1. 「不安全」的 6 种原因

    地址栏写着「不安全」只有六种原因:纯 HTTP、证书过期、域名不匹配、自签名/不受信任、证书链不完整、混合内容。每一种都给现象、判定方法、修复步骤,并附错误码映射表与修好后的三分钟验收清单。

    教程阅读约 10 分钟
    地址栏显示「不安全」的 https 网站(实验环境演示站点)
  2. 证书过期 5 分钟应急

    红屏、错误码 ERR_CERT_DATE_INVALID 就是证书过期:30 秒确认,再按你所在路线(Certbot / 宝塔 / cPanel / Cloudflare / SaaS / IIS)立即续期,三分钟验证红屏消失,最后排查自动续期为什么失效并补上到期监控。

    教程阅读约 8 分钟
    证书过期:整页红屏,错误码 NET::ERR_CERT_DATE_INVALID
  3. SSL 错误码速查表

    红屏上的错误码就是最快的线索:高频 6 码(过期、不受信任、域名不匹配、吊销、无效、弱算法)一码一行——含义、常见诱因、严重度、去向链接;另附少见证书码、打不开类错误码、Cloudflare 错误页与两条只读取证命令。

    清单阅读约 6 分钟
    证书过期:整页红屏,错误码 NET::ERR_CERT_DATE_INVALID

交给我们

不想自己动手?

泓森互联提供 SSL 证书终身维护服务:部署、监控、自动续期与失效应急,一次购买长期有效。服务范围与价格以服务页为准;也可以先做免费体检,把情况摸清楚再决定。

留个联系方式,我们帮你看看

不确定自己的网站是什么情况?留下信息,或直接 预约诊断,我们把体检结果和修复路径说清楚。

体验 AI 销售