站点上了 HTTPS,浏览器地址栏却没出现锁,控制台一堆 "Mixed Content" 报错——这是老站迁移 HTTPS 后最常见的问题。
为什么会出现
页面本身通过 HTTPS 加载,但其中的图片、脚本、样式、字体仍然用 http:// 引用。浏览器出于安全策略会拦截这些请求:脚本和样式直接被阻止,图片可能显示为空白或被降级警告。
三步定位
- 浏览器开发者工具的 Console 会直接列出被拦截的 URL,这是最快的方式。
- 批量扫页面源码:
grep -o 'http://[^"]*' page.html | sort -u。 - 查数据库里的历史内容。老文章的正文往往写死了 http 图片地址,改模板解决不了。
修复顺序
先改模板与主题文件里的静态引用,再批量替换数据库中的正文链接:
UPDATE zbp_post SET log_Content = REPLACE(log_Content,'src="http://','src="https://');
替换前务必先备份,且要限定范围,避免把外部站点(本来就只有 http 的)也改成 https 导致图片彻底 404。
升级策略的选择
对外部资源,优先换成支持 https 的镜像或本地化;对确实只有 http 的老图,可以下载到本站再引用。另外别忘了一个细节:Content-Security-Policy 里的 upgrade-insecure-requests 可以让浏览器自动把 http 升级为 https 请求,作为过渡手段很好用,但它不能替代真正的替换。
最后用 curl -s https://站点 | grep -c 'http://' 做回归检查,结果应该是 0(域名表单、XML 命名空间这类非资源链接除外)。
本文首发于 izzsj.com,作者保留全部权利。未经书面授权,禁止任何形式采集、转载与镜像;转载请注明来源并保留原文链接。
相关阅读
- 使用IMG2KVM快捷为Proxmox导入IMG镜像img2kvm是一个在PVE下导入IMG文件到虚拟机的工具,可以将img文件(含gz的压缩格
- 最新WIN10镜像下载.文件名 cn_windows_10_business_edition
- fail2ban 防暴力破解实战:让扫描器无处下手
- VPS 怎么选?国内外主机、线路与配置全解析(2025版)





还没有评论,来说两句吧...