Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nginx и http несовместимый с ервер.
Hello!
On Mon, Feb 28, 2011 at 05:58:52PM +0300, Ипполитов Игорь wrote:
> Есть сервер приложений, который игнорирует заголовки 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 . Более того, по ссылке в беседе
> участвует и некий Денис Латыпов, который даже предлагает патч.
>
> Вопросы: патч предложенный Денисом не принят в нгинкс? Патч не имеет
> отношения к моей проблеме? Что мне можно сделать, кроме изменений в сервер
> приложений?
Это был не Денис, и нет, упомянутые патчи пока не включены в
nginx.
> P.S.
> Я прекрасно понимаю, что с http-несовместимым сервером нгинкс работать и не
> должен, но почему тогда при отключении буферизации ответа всё работает
> хорошо?
Потому что при отключении буферизации nginx не буферизирует ответ,
а сразу отправляет его клиенту. А при включении - буферизирует,
обнаруживает ошибку, и закрывает соединение (так и не отправив ту
часть ответа, которая ещё лежит в буфере).
Maxim Dounin
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|