我在webapplication中使用了许多用于javascript和CSS的CDN链接,例如:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"
integrity="sha384-I6F5OKECLVtK/BL+8iSLDEHowSAfUo76ZL9+kGAgTRdiByINKJaqTPH/QVNS1VDb"
crossorigin="anonymous"></script>
通常一切正常,但有时我会在Firebug控制台中收到此消息:
完整性属性中的“sha256”哈希值都不匹配子资源的内容。
如果发生这种情况,我的javascript无法加载,我的应用程序也被破坏了。简单的刷新将解决这个问题。我想解决这个问题,而不是自己摆脱CDN链接并托管文件。这是个常见的问题吗?
答案 0 :(得分:1)
对此的一种可能解释是,如果您的系统时间足够关闭。我在VirtualBox实例中运行Debian。我几次休眠主机,而不再触摸VM。那时我注意到某些网页在VM内的Firefox中没有正确加载。一旦我到这里,我就想到检查系统时间。果然它已经关闭了将近2个小时。未安装ntp
,因此我安装了该软件包:sudo aptitude install ntp
。我确认日期/时间已更新date
,然后再次测试Firefox。有问题的网页(包括这个网页)起作用了。
答案 1 :(得分:0)
确保您的网络连接正常,或者如果您将浏览器设置为使用网络代理,它也可以正常工作。
我正在看到这条消息,因为我在浏览器上本地加载html(例如,文件 - &gt;打开文件),完整性检查将失败,因为我当时没有工作的网络代理(通过ssh隧道) 。一旦我解决了网络连接问题,页面就会加载,这些消息就会消失(当然,假设完整性属性值是正确的。)