Re: HTTP проксирование 1.1
Maxim Dounin
mdounin at mdounin.ru
Tue Mar 18 13:51:18 UTC 2014
Hello!
On Tue, Mar 18, 2014 at 12:28:08PM +0000, Anatoly Mikhailov wrote:
>
> On 18 Mar 2014, at 11:08, Maxim Dounin <mdounin at mdounin.ru> wrote:
>
> > Hello!
> >
> > On Tue, Mar 18, 2014 at 11:04:27AM +0000, Anatoly Mikhailov wrote:
> >
> >> Добрый день,
> >>
> >> По последнему blog post (http://nginx.com/blog/load-balancing-with-nginx-plus-part2/)
> >> возник вопрос: какой эффект производит proxy_set_header Connection “"?
> >>
> >> Поясню вопрос на примере, имеется следующий конфиг для проксирования
> >> S3 запросов (опущены лишние детали):
> >>
> >> location ~* ^/i/(.*) {
> >> proxy_http_version 1.1;
> >> proxy_set_header Authorization '';
> >> proxy_hide_header Set-Cookie;
> >> proxy_ignore_headers "Set-Cookie”;
> >> ...
> >> proxy_pass ...;
> >> }
> >>
> >> В данном случае версия http для проксирования установлена в 1.1,
> >> то есть ожидаем повторное использование подключения,
> >> что в данном случае изменит proxy_set_header Connection “" ?
> >
> > По умолчанию добавляется "Connection: close"[1], и использование
> > "proxy_set_header Connection ''" нужно, чтобы этого избежать.
> >
> > http://nginx.org/r/proxy_set_header/ru
>
> Максим, понятно, HTTP подключение закрывается после каждого запроса по умолчанию,
> но достаточно ли Connection “” для реиспользования HTTP 1.1 подключения? Обязательно ли
> явно добавлять блок upstream и указывать директиву keepalive?
Нужно и то, и другое. Из заголовков запроса нужно убрать
"Connection: close", чтобы бекенд не закрывал соединение, а сам
nginx - проинструктировать соединения сохранять и использовать
повторно.
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru