1.0.4 неприятности с keepalive_timeout

sad на bankir.ru sad на bankir.ru
Ср Июн 15 16:20:26 MSD 2011


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

оказывается что фигня происходит ЕСЛИ запрос отправить до истечения keepalive-timeout.
после истечения всё раб как надо.

проблема полностью лечится keepalive-timeout 0;

в ответ на "проблемный" запрос nginx молчит ровно keepalive-timeout времени.
а затем выплёвывает нечто вроде:

0

HTTP/1.1 200 OK
Server: nginx/1.0.4
Date: Wed, 15 Jun 2011 12:05:54 GMT
Content-Type: text/plain; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive

22
exactly-the-expected-body
0

0

тоесть заголовки прямо в теле и тело очень смахивает на chunked.

проблему я встретил при изпользовании модуля ngx_postgres,
а при отдаче статики проблему возпроизвести не удалось.
тем не менее я думаю что эта проблема не специфична для postgres module
может быть её можно воспроизвести с другими upstream...

приаттачиваю два debug лога
1.log -- безпроблемный запрос
3.log -- проблемный запрос

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 1.log
Type: application/octet-stream
Size: 8874 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20110615/3edac25e/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 3.log
Type: application/octet-stream
Size: 8752 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20110615/3edac25e/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nginx.conf
Type: application/octet-stream
Size: 1147 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20110615/3edac25e/attachment-0005.obj>


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