Версия для печати | оригинал записи

HTTP2, NGINX и ERR_SPDY_PROTOCOL_ERROR

ash — Log-ово Хозяина

17 июня 2018 23:40
HTTP2, NGINX и ERR_SPDY_PROTOCOL_ERROR
При переводе сервера на протокол HTTP/2 возникла проблема, что часть статики с определенных доменов не показывалась в браузере Chrome, выдавая ошибку ERR_SPDY_PROTOCOL_ERROR.
Причём большинство сайтов, которые гуглились по этой ошибке, утверждали что проблема в Хроме и предлагали десятки способов его очистки, настройки и обновления, что было неприемлемым — сайты должны открываться у всех пользователей, без копания в настройках браузера.

Опустим дедуктивные подробности всего расследования, которое длилось не один день.
Проблема оказалась в том, что Хром, при работе с http2, становится придирчив к заголовкам, получаемым от сервера. В нашем конкретном случае причиной была настройка в конфиге nginx:

add_header Last-Modified: $date_gmt;

Стоило её убрать и всё заработало.

Что даст HTTP/2 обычному демиартовцу: существенно более быструю загрузку сложных страниц. Разумеется только при использовании безопасного соединения по HTTPS.

[attachid=578804]

Комменты: 0


Demiart © 2018