解决https网页加载http资源报错问题

Barret李靖 2024-03-11 16:32:44电脑知识
235

HTTPS 是 HTTP over Secure Socket Layer,以安全为目标的 HTTP 通道,所以在 HTTPS 承载的页面上不允许出现 http 请求,一旦出现就是提示或报错:

Mixed Content: The page at ‘https://www.taobao.com/‘ was loaded over HTTPS, but requested an insecure image ‘http://g.alicdn.com/s.gif’. This content should also be served over HTTPS.

HTTPS改造之后,我们可以在很多页面中看到如下警报:

解决https网页加载http资源报错问题.jpg

很多运营对 https 没有技术概念,在填入的数据中不免出现 http 的资源,体系庞大,出现疏忽和漏洞也是不可避免的。

CSP设置upgrade-insecure-requests

好在 W3C 工作组考虑到了我们升级 HTTPS 的艰难,在 2015 年 4 月份就出了一个 Upgrade Insecure Requests 的草案,他的作用就是让浏览器自动升级请求。

在我们服务器的响应头中加入:

header("Content-Security-Policy: upgrade-insecure-requests");

我们的页面是 https 的,而这个页面中包含了大量的 http 资源(图片、iframe等),页面一旦发现存在上述响应头,会在加载 http 资源时自动替换成 https 请求。可以查看 google 提供的一个 demo:

解决https网页加载http资源报错问题2.jpg

不过让人不解的是,这个资源发出了两次请求,猜测是浏览器实现的 bug:

解决https网页加载http资源报错问题3.jpg

当然,如果我们不方便在服务器/Nginx 上操作,也可以在页面中加入 meta 头:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

目前支持这个设置的还只有 chrome 43.0,不过我相信,CSP 将成为未来 web 前端安全大力关注和使用的内容。而 upgrade-insecure-requests 草案也会很快进入 RFC 模式。

从 W3C 工作组给出的 example,可以看出,这个设置不会对外域的 a 链接做处理,所以可以放心使用。

相关阅读

http://www.w3.org/TR/mixed-content/

https://www.chromestatus.com/feature/6534575509471232

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持站长工具网。

https http
THE END
colg

相关推荐

HTTPS证书怎么选?站长实测Let's Encrypt vs 付费证书区别
作为数字安全的基础设施,SSL/TLS证书的选择直接影响网站的安全性、用户体验和运营成本。面对Let&#039;s Encrypt免费证书与付费证书的选项,许多站长陷入两难:免费证书是否可...
2025-05-24 站长之家
375

HTTP请求报405错误(Not Allowed) 的原因及解决方法
HTTP 405错误是Web开发中常见的状态码之一,表示客户端尝试使用的HTTP请求方法(如GET、POST、PUT等)不被服务器允许。本文ZHANID工具网将深入分析其成因,并提供分步骤的解决...
2025-05-11 编程技术
978

HTTPS迁移后流量暴跌?SSL配置的7个致命错误你犯了吗?
在网络安全威胁日益严峻的今天,将网站从HTTP升级到HTTPS已成为不可逆转的趋势。然而,许多站长在完成SSL证书部署后,却面临流量断崖式下跌的窘境。通过分析大量真实案例,我...
2025-05-07 站长之家
368

站长必懂的HTTP/3协议:让网站加载速度突破物理极限的配置方案
HTTP/3协议作为新一代网络传输协议,凭借其独特的技术优势,为网站性能提升带来了全新可能。本文站长工具网将深入剖析HTTP/3协议的核心原理、相较于前代协议的优势,并详细阐...
2025-04-28 站长之家
434

Nginx中配置HTTP/2协议的步骤详解
HTTP/2作为HTTP协议的下一代版本,通过引入多路复用、头部压缩、流量优先级等特性,极大地提升了网络通信效率和性能。Nginx作为一款高性能的HTTP服务器,在支持HTTP/2协议方面...
2025-04-15 编程技术
351

HTTP状态查询工具:实时在线检测网页HTTP响应状态码的利器!
在网络技术迅速发展的今天,HTTP状态码成为了我们理解和诊断网站性能的关键。站长工具网提供的HTTP状态查询工具是一款强大的在线工具,它能够实时检测网页HTTP响应状态码,帮...
2024-12-25 新闻资讯
555