ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

nginx и http несовместимый сер вер.



Есть сервер приложений, который игнорирует заголовки Connection: close; и версию запроса (1.0 или 1.1): независимо ни от чего, сервер держит соединение с клиентом открытым.
Есть нгинкс, который проксирует соединение до этого сервера.
Проблема:
Нгинкс проксирует запрос от клиента к серверу приложений, получает ответ с заголовком Content-Length и далее нужное количество байт в теле ответа.
Если буферизация ответов апстрима включена (proxy_buffering on;), то нгинкс отдаёт клиенту заголовки ответа, без тела (но с content-length), а в лог пишет, что
upstream timed out (110: Connection timed out) while reading upstream
Если буферизация ответов апстрима выключена (proxy_buffering off;), то ответ нормально отдаётся клиенту. Но при этом ломается кэширование (кэширование не работает без буферизации).

Мне удалось найти аналогичную проблему у другого человека: http://www.ruby-forum.com/topic/166377 . Более того, по ссылке в беседе участвует и некий Денис Латыпов, который даже предлагает патч.

Вопросы: патч предложенный Денисом не принят в нгинкс? Патч не имеет отношения к моей проблеме? Что мне можно сделать, кроме изменений в сервер приложений?

P.S.
Я прекрасно понимаю, что с http-несовместимым сервером нгинкс работать и не должен, но почему тогда при отключении буферизации ответа всё работает хорошо?

С уважением,
Ипполитов Игорь.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.