Re: HTTP проксирование 1.1
Anatoly Mikhailov
anatoly at sonru.com
Wed Mar 19 10:42:26 UTC 2014
On 18 Mar 2014, at 15:10, Maxim Dounin <mdounin at mdounin.ru> wrote:
> 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?
>
> Нет.
супер, переписал конфигурацию для проксирования S3 на upstream, получилось очень классно,
вопрос - почему бы не сделать keepalive для бэкэнда по умолчанию?
>
> --
> Maxim Dounin
> http://nginx.org/
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20140319/a533aa2d/attachment.html>
Подробная информация о списке рассылки nginx-ru