Рейтинг:0

nginx, HTTP/2, файлы нулевой длины

флаг za

После обновления Centos 7.2 до 7.9 виртуальный хост/сайт с поддержкой HTTP/2 начал вести себя странно: случайные файлы js/ccs загружаются в браузере как пустые нулевой длины, но со статусом 200.

Я не могу воспроизвести это в curl, используя --http2 switch (похоже, это как-то связано со сложным алгоритмом шифрования/политики браузера), но это воспроизводимо на нескольких клиентских машинах и браузерах. Nginx не сообщает об ошибках в журналах. Что еще более странно, так это то, что nginx сообщает, что body_bytes_sent не равно нулю для запросов браузера, которые получили файлы нулевой длины на стороне браузера, и эта длина точно такая же, как и должна быть.

Я понимаю, что этот вопрос выглядит как «хромой нулевой диагностический вопрос от парня с 1 кармой», но это действительно вся диагностика, которую я могу получить. Пока обходным путем для меня является отключение HTTP/2 в nginx. Это разрушительно, так как это первая проблема такого рода, насколько мне известно, от которой я не могу избавиться.

Так что... может быть, кто-то из участников сообщества видел что-то подобное?

флаг jp
Проверьте заголовки ответа сервера в инструментах разработки браузера.
drookie avatar
флаг za
О, я сделал - 200 и ноль байт. Кроме того, некоторые браузеры жалуются на сброс соединения, но ничего из этого не регистрируется в журналах сервера.
флаг jp
Может быть этот https://trac.nginx.org/nginx/ticket/1250
drookie avatar
флаг za
Большое спасибо ! Сделал мой день - это было действительно так.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.