ПРОЕКТЫ 


  АРХИВ 


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]

Re: прокси-модуль и ch unked вывод



Hello!

On Mon, Jul 13, 2009 at 05:17:10PM +0700, Alexey Morozov wrote:

> Здравствуйте.
> 
> В нынешнем своём виде прокси-модуль в nginx-0.8.4 некорректно обрабатывает 
> ответы "upstream"-сервер, если сервер отвечает в Transfer-Encoding: chunked.
> При этом nginx:
> 
> 1. добавляет ещё один заголовок Transfer-Encoding: chunked
> 2. оборачивает весь выхлоп (response body) из upstream-сервера в собственную 
> последовательность чанков.
> 
> По всей видимости, для корректной работы необходимо проверять, не является ли 
> уже выхлоп апстрима chunked, декодировать его при записи в файл кэша и далее 
> выдавать либо в chunked, либо в "нормальной" кодировке. Или я не учитываю 
> какого-нибудь важного обстоятельства?

В нынешнем виде прокси-модуль в nginx при обращении к бекенду 
nginx использует HTTP/1.0.  RFC2616 явно запрещает использовать 
chunked для ответов по HTTP/1.0.  Т.е. если бекенд отдал nginx'у 
chunked - то это проблема бекенда, а не nginx'а.

Что касается поддержки chunked вообще (она в частности нужна  для 
поддержки постоянных соединений с бекендом, ибо в HTTP/1.1 их 
считай что не бывает) - то да, его надо разбирать и убирать, никто 
не спорит.  We are working on it, stay tuned.

Maxim Dounin



 




Copyright © Lexa Software, 1996-2009.