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