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 подобные ситуации и бэкэнд выкидываем из пула
Что ещё делать с бекендом, если он не успевает отвечать?
[...]