上了HTTPS只是及格线:混合内容一招定位

来源:互联网 时间:2026-08-28

证书装好了,地址栏有锁了,但浏览器控制台飘着一排黄字:mixed content。页面是HTTPS的,里面的图片、脚本、接口请求还是HTTP明文,等于防盗门装好了窗户开着——中间人照样能篡改这些资源,往你页面里塞东西。

定位不用肉眼翻代码,F12控制台每条警告都带着资源URL,按图索骥即可。批量排查用命令更快。

# 在源码里全局搜http引用
# 排除掉本身就该是http的(如schema写法)
grep -rn "http://" ./templates/ | grep -v "https://" \
| grep -v "http://www.w3.org" | head -30

修复按类型分。图片改协议头即可,相对路径最省心。脚本和样式属于被动混合内容,浏览器直接拦截,页面样式崩、功能挂就是这么来的,必须改。接口请求属于主动混合内容,同样被拦,除了改协议头,接口域名如果不同还得配CORS。

# nginx 全站301,老http链接全部升级
server {
listen 80;
server_name yoursite.com www.yoursite.com;
return 301 https://$host$request_uri;
}

# 内容里写死的http引用,输出时统一替换
# sub_filter一次搞定存量内容
sub_filter "http://yoursite.com" "https://yoursite.com";
sub_filter_once off;

改完在浏览器地址栏的锁图标里看证书详情,控制台清空警告即为彻底干净。再配上前面讲过的HSTS头,浏览器会记住只走HTTPS,混合内容和协议降级从此没有回头路。

相关文章

标签:

A5创业网 版权所有