Re: HTTP проксирование 1.1
Maxim Dounin
mdounin at mdounin.ru
Tue Mar 18 15:10:47 UTC 2014
Hello!
On Tue, Mar 18, 2014 at 03:08:31PM +0000, Anatoly Mikhailov wrote:
>
> On 18 Mar 2014, at 13:51, Maxim Dounin <mdounin at mdounin.ru> wrote:
>
> > 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 - проинструктировать соединения сохранять и использовать
> > повторно.
>
> Понял, спасибо, Максим! Контекст директивы keepalive для бэкэнда только upstream,
> если смотреть документацию, но может есть какой-то элегантный способ передать
> keepalive в proxy_pass сразу, без объявления блока upstream?
Нет.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru