поддержка HTTP/1.1 для проксирования

Igor Sysoev is at rambler-co.ru
Mon Dec 27 15:36:42 MSK 2004


On Mon, 27 Dec 2004, RaPaMaN wrote:

> On Monday 27 December 2004 12:16, Igor Sysoev wrote:
> > On Mon, 27 Dec 2004, Dmitry wrote:
> > > А планируется в ближайшем будущем
> > > поддержка HTTP/1.1 для проксирования на бэкэнд ?
> > >
> > > Похоже, что некоторые вэб-скрипты (CJ и
> > > прочие для торговли трафиком) считают, что
> > > если обращение идет по протоколу HTTP/1.0,
> > > такой запрос считается через прокси
> > > сервер, даже если нет заголовков X-Forwarded-For и
> > > X-Real-IP.
> > >
> > > От клиента, если он пришел через прокси,
> > > заголовок X-Forwarded-For пропускается прозрачно nginx.
> >
> > nginx сейчас не поддерживает постоянные соединения с бэкендом,
> > хотя такая возможность при разработке учитывалась, поэтому её добавить
> > не так уж и сложно. Здесь есть только одна проблема - бэкенд будет слать
>
> т.е остается только ждать версии с этой фичей :)
>
> > chunked ответы, если длина ответа не известна, и их нужно правильно
> > читать. Но тут можно сделать, например, так - ходить по HTTP/1.0 и
> > явно указывать "Connection: close".
>
> А chunked нельзя читать как поток ? т.е. просто до конца пототока. По идее
> как-то броузер узнает, все он прочитал или был обрыв.

В chunked в потоке есть служебные строки, которые нужно вырезать
при сохранении в кэш и при отдаче клиенту. В принципе, и это было учтено
при разработке, но пока не реализовано. При чтении бэкенда можно
установить фильтр, который из прочитаных буферов формирует новые буфера,
в которых уже нет chunked информации.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list