Re: upstream prematurely closed connection (но как-то странно)

Evgeniy Berdnikov bgx на protva.ru
Вт Дек 11 20:24:55 UTC 2018


On Tue, Dec 11, 2018 at 02:54:29PM -0500, suffix wrote:
> Смотрю 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
> 
> Откуда тогда ошибка то  ?

 В лог-формате "combined" после статус-кода (200) идёт body_bytes_sent.
 Видно, что апач отдал nginx-у 45443 байта, а ngnix клиенту 12664, так что
 обоснованное подозрение на то, что nginx недополучил данные.
 В HTTP/1.1 есть механизм контроля целостности данных, и nginx может видеть,
 что ему прислали ответ короче, чем должно быть по его заголовку.

 Я бы прежде всего подумал, нет ли между апачем и nginx-ом statefull
 файрвола, который из-за какой-то ошибки в своей логике иногда обрывает
 коннекции, например, содержащие этот "amp".
-- 
 Eugene Berdnikov


Подробная информация о списке рассылки nginx-ru