Re: client closed prematurely connection в режиме proxy

Sergey Kobzar sergey.kobzar на itcraft.org
Пт Апр 27 11:28:49 UTC 2012


Максим

On 04/27/12 14:11, Maxim Dounin wrote:
> Hello!
>
> On Fri, Apr 27, 2012 at 01:46:30PM +0300, Sergey Kobzar wrote:
>
> [...]
>
>> На фронтэнде:
>> 66.249.73.15 - - [27/Apr/2012:11:23:22 +0100] "GET ... HTTP/1.1" 504
>> 9700 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;
>> +http://www.google.com/bot.html)" "-" 10.17.92.12:80, 10.17.92.2:80
>> 504, 504
>> 66.249.73.209 - - [27/Apr/2012:11:23:23 +0100] "GET ... HTTP/1.1"
>> 504 9700 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;
>> +http://www.google.com/bot.html)" "-" 10.17.92.12:80, 10.17.92.2:80
>> 504, 504
>
> Бекенд не успели ответить за время proxy_read_timeout.
>
> [...]
>
>> На бэкенде на тот же запрос:
>> access log:
>> 66.249.73.15 - - [27/Apr/2012:11:23:22 +0100] "GET ... HTTP/1.0" 499
>> 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;
>> +http://www.google.com/bot.html)" "-"
>>
>> error_log:
>> 2012/04/27 11:23:22 [info] 9804#0: *206566 client closed prematurely
>> connection, so upstream connection is closed too while sending
>> request to upstream, client: 66.249.73.15, server: localhost,
>> request: "GET ... HTTP/1.0", upstream: "fastcgi://127.0.0.1:9001",
>> host: "www.test.com"
>
> С точки зрения бекенда - соединение закрыли до того, как он успел
> ответить.  Он это честно об этом написал в лог.
>
>> Т.е. общая картина:
>>
>> 1. Клиент закрыл соединение - на бэкенде получили 499
>> 2. Вернули фронтенду 504
>
> Не так, см. выше.
>
>> 3. 3 подобные ситуации и бэкэнд выкидываем из пула
>
> Что ещё делать с бекендом, если он не успевает отвечать?
>
> [...]

Спасибо за ответ.

Я не совсем понял. Т.е. это фронтенд (proxy) закрывает соединение с 
бэкендом, т.к. время ожидания ответа превысило proxy_read_timeout (60s) 
или все-же пользователь прервал соединение?



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