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 mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru