Igo*_*gor 7 firefox cdn cloudflare
我们创建了一个使用来自cdnjs 的资源的网站。该站点已上线几个月,但我们对此 CDN 和FireFox
.
完整性属性中的“sha256”散列都与子资源的内容不匹配。
用于获取此资源的连接不安全
我遇到问题的资源包括这些元素(它们出现在我们的网页中):
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.35.4/css/bootstrap-dialog.min.css" integrity="sha256-wstTM1F5dOf7cgnlRHIW3bmoRAAGh6jL7tMIvqTuFZE=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.min.css" integrity="sha256-yMjaV542P+q1RnH6XByCPDfUFhmOafWbeLPmqKh11zo=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqtree/1.4.4/jqtree.min.css" integrity="sha256-ymsp1QFcwiJbIgAoSOkMtqe4GFczZH1KjXLq6y5f+QY=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.35.4/js/bootstrap-dialog.min.js" integrity="sha256-IpgnbT7iaNM6j9WjtXKI8VMJ272WM9VvFYkZdu1umOA=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.2/moment-with-locales.min.js" integrity="sha256-K+AZsAFjiBd4piqBmFzaxDsiQiHfREubm1ExNGW1JIA=" crossorigin="anonymous"></script>
Run Code Online (Sandbox Code Playgroud)
您可以使用上述 URL 之一重现该问题,并将其直接放在 FireFox 浏览器的 URL 中。资源应该在浏览器窗口中加载,但在按下CTRL+F5
至少一次(最多 5 次)后会出现错误。尽管我们位于荷兰,但我可以从多台 PC 复制它,所以可能是时间问题或类似的问题(超出了我的专业知识)?
来自我们使用的其他 CDN 的任何其他资源不会发生这种情况,如下所示:
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
Run Code Online (Sandbox Code Playgroud)
这是特定于cdnjs的问题,他们必须解决这个问题,FireFox
还是我们请求资源的方式有问题?
作为旁注,我们还定期在Google Chrome
、MS Internet Explorer 11
、MS Edge
和上测试我们的软件,并且Opera
从未在这些浏览器(或任何其他浏览器)上遇到过此问题。
我已经在 Mozilla 的论坛上创建了一个帖子,但回应是这超出了范围,建议将其发布到 SO 或在 GitHub 上提交错误。我还没有做后者,因为我(还)不相信这是 FireFox 中的错误。我还在cdnjs 的 github repo 上提交了一个问题。
小智 5
TL;DR:Linux (RHEL 7.3) 和 Firefox 45.6.0 上的类似问题已通过从 getfirefox.com 下载 60.0.2 解决。
恐怕这不太可能解决@Igor 的问题,但我遇到了一个非常相似的问题,并通过 Firefox 升级解决了;也许这会帮助其他人。
就我而言,我看到的是相同的
用于获取此资源的连接不安全
Web 控制台的“网络”选项卡中的消息不仅适用于 Cloudflare,还适用于其他几个站点:
然而,铬不受影响(lynx 和 curl 也是如此)。
鉴于失败的错误消息,我在首选项 -> 高级 -> 证书 -> 查看证书中查看并立即怀疑服务器选项卡中的所有过期证书(自 2014 年以来!),包括 www.google.com。然而,尝试删除它们失败了;他们在新选项卡中重新测试任何有问题的网站后立即返回。
Mozilla 帮助页面上的每个建议也失败了:没有代理、没有防病毒、安全模式、刷新配置文件、切换到一个全新的配置文件(也有伪造的 2014 证书,很明显是硬编码的)、禁用硬件加速、禁用DNS 预取和其他一些about:config
黑客攻击。通过 yum 重新安装现有的 Firefox 版本也失败了,手动删除所有 sqlite 文件和storage/default
(都在 内$HOME/.mozilla/firefox/<profile>
)下的大多数相关站点也是如此。即使是 Mozilla 自己的也certutil
未能阅读cert8.db
新的、干净的配置文件中的新鲜内容:
$ certutil -L
certutil: function failed: SEC_ERROR_LEGACY_DATABASE: The certificate/key database is in an old, unsupported format.
Run Code Online (Sandbox Code Playgroud)
我什至尝试通过 45.x 的高级首选项页面中的导入选项重新加载 Firefox 的根证书,但我在 Mozilla 的 Mercurial 存储库中找到的纯文本版本显然无法被 Firefox 的导入按钮理解。(或者可能是这样;反馈为零。但是“服务器”选项卡上的过期内容并没有消失。)
我提到这一切没有工作,一方面是因为一些这些行动确实帮助其他人谁报告了类似的问题,而且还因为在所有的可能性(和与同事几个中介的讨论)运行了一个巨大的时间量。
最终,通过获取最新的 Firefox 二进制文件
并在本地目录中解压缩 tarball 工作正常,完成和验证花了整整两分钟。旧的和新的配置文件都可以很好地使用它。瞧,“服务器”选项卡完全没有所有证书,无论是否过期。就我而言,我很确定这就是问题所在,而我无法删除伪造证书是 45.x 中的一个错误。
这个问题很老了,但是如果有人遇到这个问题,请检查脚本属性的完整性
<script src="https://code.jquery.com/jquery-3.1.1.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" ></script>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11504 次 |
最近记录: |