<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 19 Mar 2014, at 10:42, Anatoly Mikhailov <<a href="mailto:anatoly@sonru.com">anatoly@sonru.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=utf-8"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 18 Mar 2014, at 15:10, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Hello!<br><br>On Tue, Mar 18, 2014 at 03:08:31PM +0000, Anatoly Mikhailov wrote:<br><br><blockquote type="cite"><br>On 18 Mar 2014, at 13:51, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:<br><br><blockquote type="cite">Hello!<br><br>On Tue, Mar 18, 2014 at 12:28:08PM +0000, Anatoly Mikhailov wrote:<br><br><blockquote type="cite"><br>On 18 Mar 2014, at 11:08, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:<br><br><blockquote type="cite">Hello!<br><br>On Tue, Mar 18, 2014 at 11:04:27AM +0000, Anatoly Mikhailov wrote:<br><br><blockquote type="cite">Добрый день,<br><br>По последнему blog post (<a href="http://nginx.com/blog/load-balancing-with-nginx-plus-part2/">http://nginx.com/blog/load-balancing-with-nginx-plus-part2/</a>)<br>возник вопрос: какой эффект производит proxy_set_header Connection “"?<br><br>Поясню вопрос на примере, имеется следующий конфиг для проксирования<span class="Apple-converted-space"> </span><br>S3 запросов (опущены лишние детали):<br><br>location ~* ^/i/(.*) {<br>proxy_http_version     1.1;<br>proxy_set_header       Authorization '';<br>proxy_hide_header      Set-Cookie;<br>proxy_ignore_headers   "Set-Cookie”;<br>...<br>proxy_pass             ...;<br>}<br><br>В данном случае версия http для проксирования установлена в 1.1,<br>то есть ожидаем повторное использование подключения,<br>что в данном случае изменит proxy_set_header Connection “" ?<br></blockquote><br>По умолчанию добавляется "Connection: close"[1], и использование  <br>"proxy_set_header Connection ''" нужно, чтобы этого избежать.<br><br><a href="http://nginx.org/r/proxy_set_header/ru">http://nginx.org/r/proxy_set_header/ru</a><br></blockquote><br>Максим, понятно, HTTP подключение закрывается после каждого запроса по умолчанию,<br>но достаточно ли Connection “” для реиспользования HTTP 1.1 подключения? Обязательно ли<br>явно добавлять блок upstream и указывать директиву keepalive?<br></blockquote><br>Нужно и то, и другое.  Из заголовков запроса нужно убрать<span class="Apple-converted-space"> </span><br>"Connection: close", чтобы бекенд не закрывал соединение, а сам<span class="Apple-converted-space"> </span><br>nginx - проинструктировать соединения сохранять и использовать<span class="Apple-converted-space"> </span><br>повторно.<br></blockquote><br>Понял, спасибо, Максим! Контекст директивы keepalive для бэкэнда только upstream,<br>если смотреть документацию, но может есть какой-то элегантный способ передать<br>keepalive в proxy_pass сразу, без объявления блока upstream?<br></blockquote><br>Нет.<br></div></blockquote><div><br></div><div>супер, переписал конфигурацию для проксирования S3 на upstream, получилось очень классно,</div><div>вопрос - почему бы не сделать keepalive для бэкэнда по умолчанию?</div><br></div></div></blockquote><div><br></div><div>набросал тут конфиг для проксирования соединений к backend и S3 с кэшированием и keep-alive:</div><div><a href="https://gist.github.com/mikhailov/9639593">https://gist.github.com/mikhailov/9639593</a></div><div><br></div><div>Максим, что тут можно поправить?</div><div><br></div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><blockquote type="cite"><div style="font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br>--<span class="Apple-converted-space"> </span><br>Maxim Dounin<br><a href="http://nginx.org/">http://nginx.org/</a><br><br>_______________________________________________<br>nginx-ru mailing list<br><a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br><a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></blockquote></div><br></div>_______________________________________________<br>nginx-ru mailing list<br><a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>http://mailman.nginx.org/mailman/listinfo/nginx-ru</blockquote></div><br></body></html>