Атрибут целостности CDN иногда терпит неудачу в Firefox

Я использую несколько ссылок CDN в своем веб-приложении для JavaScript и CSS, например:

 <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 и размещать файлы самостоятельно, я бы хотел это исправить. Это общая проблема?

2 ответа

Одним из возможных объяснений этого является то, что ваше системное время достаточно выключено. Я запускал Debian в экземпляре VirtualBox. Я спал на хост-машине несколько раз, не касаясь виртуальной машины снова. Именно тогда я заметил, что некоторые веб-страницы не загружались должным образом в Firefox внутри виртуальной машины. Как только я попал сюда, мне пришло в голову проверить системное время. Конечно же, он был выключен почти на 2 часа. ntp не был установлен, поэтому я установил этот пакет: sudo aptitude install ntp, Я подтвердил, что дата / время были обновлены с date, а затем снова протестировал Firefox. Проблемные веб-страницы (включая эту) работали.

Убедитесь, что ваше сетевое соединение работает или если ваш браузер настроен на использование сетевого прокси-сервера, что он тоже работает.

Я видел это сообщение, когда я загружал HTML локально (например, Файл -> Открыть файл) в браузере, где проверка целостности не удалась, потому что у меня не было сетевого прокси (через туннель ssh), работающего в то время. Как только я разрешил подключение к сети, страница загрузилась бы, и эти сообщения исчезли (при условии, конечно, что значения атрибута целостности верны).

Другие вопросы по тегам