Javascript не загружается из-за сети:: ERR_CONTENT_LENGTH_MISMATCH
У меня есть приложение, которое работает нормально локально, но barfs на производстве. (Классическая проблема, правда?)
В производстве JS не срабатывает правильно. Когда я открываю консоль браузера, я вижу эту ошибку:
net::ERR_CONTENT_LENGTH_MISMATCH
Когда я смотрю на вкладке "Сеть" в Инструментах разработчика, показано, что он не удалось выполнить запрос GET для текста /html.
Это загадочная ошибка. Я только нашел два других сообщения SO, которые даже упоминаются, и они не решены. (Для заинтересованного: первый пост и второй пост)
Любая идея (1) что это означает или (2) как ее решить?
Ответы
Ответ 1
Я получаю сообщение об ошибке: net:: ERR_CONTENT_LENGTH_MISMATCH
Посмотрите журналы своего сервера, чтобы определить, что такое настоящая проблема.
Для меня проблема лежит где-то между nginx и разрешениями файлов:
-
tail -f /usr/local/var/log/nginx/error.log
или запустите nginx -t
, чтобы определить местоположение вашего conf, где вы можете указать собственный путь к журналу.
- обновите актив в своем браузере, например
http://localhost:3000/assets/jquery/jquery.js
В журналах вы можете увидеть что-то подобное:
"/usr/local/var/run/nginx/proxy_temp/9/04/0000000049" не удалось (13: Permission denied) при чтении вверх по потоку для файла xyz
Вот как я исправил:
sudo nginx -s stop
sudo rm -rf /usr/local/var/run/nginx/*
sudo nginx
Ответ 2
Согласно этот отчет об ошибке, эта ошибка возникает, когда длина внешнего ресурса не соответствует заголовку Content-Length, указанному в ответе.
Это может произойти из-за неверно сконфигурированного сервера или (в виде растяжки), возможно, некоторые символы BOM попали в файл или, возможно, даже на разные окончания строк (записываете ли вы на машину DOS и развертываете на машине UNIX?) может вызвать проблемы.
Надеюсь, что это поможет.
Ответ 3
У меня была аналогичная проблема при попытке интерпретировать результаты JSON. Оказалось, что где-то вдоль линии в базу данных попал нечетный персонаж - в этом случае преступник был "â??". Непонятно, как это значение поступило в базу данных, но вероятно связано с проблемами кодирования HTML - "" символ, отображаемый вместо" & nbsp;" В любом случае после удаления нечетных символов проблема была решена.
Ответ 4
У меня была аналогичная проблема
[crit] 6889 # 0: * 14817 open() "/var/cache/nginx/proxy_temp/3/02/0000000023" failed (13: Permission denied) при чтении вверх по течению
это связано с тем, что рабочий процесс Nginx не смог получить доступ к папке /var/cache/nginx/proxy _temp/- я только что изменил права доступа к папке, и все началось с работы
Ответ 5
У меня была похожая проблема при разработке на MAMP и использовании Chrome в качестве браузера. У таких же проблемных сайтов на живых серверах таких проблем не было. Сначала я подумал, что это MAMP, и я проверил настройки, такие как несоответствие версий PHP, apache и т.д., Переустановил, но проблема осталась. В конце концов, я просто переключился на использование браузера Brave (в любом случае задерживал переход на Brave), и это помогло мне.
Надеюсь это поможет.