Странная ошибка в логах nginx

suffix
На сайте с 26.08.2010
Offline
325
833

Смотрю error.log nginx:


2018/12/11 16:38:51 [error] 2893#2893: *45224 upstream prematurely closed connection while reading response header from upstream, client: 66.249.76.90, server: www.babai.ru, request: "GET /articles/prezhde-chem-prinesti-svinyu-domoj.html?amp=yes HTTP/1.1", upstream: "http://127.0.0.1:8080/articles/prezhde-chem-prinesti-svinyu-domoj.html?amp=yes", host: "www.babai.ru"

Однако в это же время в access.log apache:


66.249.76.90 - - [11/Dec/2018:16:38:51 +0300] 0 "GET /articles/prezhde-chem-prinesti-svinyu-domoj.html?amp=yes HTTP/1.1" 200 45443 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

Код 200

И в это же время в access.log nginx:


66.249.76.90 - - [11/Dec/2018:16:38:51 +0300] "GET /articles/prezhde-chem-prinesti-svinyu-domoj.html?amp=yes HTTP/1.1" 200 12664 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

Тоже код 200

Откуда тогда ошибка то ?

Крайне редко встречается и только с amp страницами.

И в сёчконсоли раз в 3-4 месяца появляется ошибка что какая то страница amp недоступна.

Потом ошибка исчезает.

Кто виноват ? Почему так ? И надо ли что-то с этим делать ?

Клуб любителей хрюш (https://www.babai.ru)
Оптимизайка
На сайте с 11.03.2012
Offline
396
#1

Таймауты для прокси в nginx заданы какие?

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
suffix
На сайте с 26.08.2010
Offline
325
#2


proxy_send_timeout 300; proxy_read_timeout 300;

Я читал про это - но эти лимиты надо увеличивать когда код ответа 502, а в моем случае код 200 !

Mik Foxi
На сайте с 02.03.2011
Offline
1076
#3

suffix, при увеличении таймаута частота ошибок изменилась?

Если нет, то ковырять как там апач с пхп работает, возможно воркеры пхп дропаются не вовремя.

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
suffix
На сайте с 26.08.2010
Offline
325
#4

Вот что мне на форуме nginx ответили:

"В лог-формате "combined" после статус-кода (200) идёт body_bytes_sent.

Видно, что апач отдал nginx-у 45443 байта, а ngnix клиенту 12664, так что

обоснованное подозрение на то, что nginx недополучил данные.

В HTTP/1.1 есть механизм контроля целостности данных, и nginx может видеть,

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

Я бы прежде всего подумал, нет ли между апачем и nginx-ом statefull

файрвола, который из-за какой-то ошибки в своей логике иногда обрывает

коннекции, например, содержащие этот "amp"."

Теперь бы понять что такое statefull файервол и где его искать ? :)

Mik Foxi
На сайте с 02.03.2011
Offline
1076
#5

suffix, а разница размеров случаем не в том, что сначала данные от апача не сжаты, а дальше нгинксом для клиента пережаты?

suffix
На сайте с 26.08.2010
Offline
325
#6

Понятия не имею :))

Но да, brotli и gzip в nginx включены конечно.

suffix
На сайте с 26.08.2010
Offline
325
#7
suffix:

proxy_send_timeout 300;
proxy_read_timeout 300;

На всякий случай увеличил:


proxy_read_timeout 1200s;
proxy_connect_timeout 600s;
client_body_timeout 600s;
send_timeout 600s;

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий