<div dir="ltr">Добрый день.<div><br></div><div>Решение о не поддержке http2 мне кажется логичным, ведь по всем исследованиям spdy и http2 выигрыш тем больше, чем выше rtt, а в локалке он, как правило, очень низкий, кроме того я не совсем представляю, как в http2 проксировать соединения разных внешних клиентов, например у каждого будут свои авторизационные данные.</div></div><div class="gmail_extra"><br><div class="gmail_quote">19 октября 2015 г., 15:56 пользователь Pavel Odintsov <span dir="ltr"><<a href="mailto:pavel.odintsov@gmail.com" target="_blank">pavel.odintsov@gmail.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Приветствую!<br>
<br>
Спасибо за ответ!<br>
<br>
Но проблема несколько шире. Уже много фреймфорков написанных чисто на<br>
http 2.0 (gRPC - и это только начало), которые не содержат большого<br>
количества ненужного кода для поддержки http 1.1 просто потому что он<br>
не нужен и смысла в нем минимум.<br>
<br>
Отсутствие поддержки http2 со стороны бэкэнда в среде, где с клиентам<br>
уже можно общаться по http2 будет тормомзом прогресса, потому что мы<br>
не можем использовать везде http2 и исключительно из-за прихоти<br>
реверс-прокси должны тыщить http2.<br>
<br>
Я за унификацию :) Скорее вижу подход, где между бэкэндом и реверс<br>
прокси бегает http2, а также во всей внутренней инфраструктуре и<br>
силами реверс прокси это дело понижается до особо не продвинутых<br>
внешних клиентов.<br>
<br>
Но схему наоборот - http2 до публичного клиента и древний http 1.1 в<br>
бэнбоне.... не вяжется, не нравится мне это.<br>
<br>
<br>
<br>
2015-10-19 15:50 GMT+03:00 Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>>:<br>
> Hello!<br>
><br>
> On Sun, Oct 18, 2015 at 09:58:20PM +0300, Pavel Odintsov wrote:<br>
><br>
>> Всем привет!<br>
>><br>
>> Имеется сервер gRPC на С++, который работает только поверх<br>
>> шифрованного HTTP2. Имеется желание его проксировать силами Nginx для<br>
>> повышения надежности и реверс-проксирования.<br>
>><br>
>> Суть в том, что Nginx должен общаться с gRPC бэкэндом только по<br>
>> HTTP2/TLS, иначе оно не работает.<br>
>><br>
>> Но Nginx не может подключиться к http2 бэкэнду вот с такой ошибкой:<br>
>> 2015/10/18 20:54:07 [error] 2954#2954: *3 peer closed connection in<br>
>> SSL handshake while SSL handshaking to upstream, client: 127.0.0.1,<br>
>> server: <a href="http://api.fastnetmon.io" rel="noreferrer" target="_blank">api.fastnetmon.io</a>, request: "POST<br>
>> /fastmitigation.Fastnetmon/GetBanlist HTTP/2.0", upstream:<br>
>> "<a href="https://127.0.0.1:10777/fastmitigation.Fastnetmon/GetBanlist" rel="noreferrer" target="_blank">https://127.0.0.1:10777/fastmitigation.Fastnetmon/GetBanlist</a>", host:<br>
>> "<a href="http://api.fastnetmon.io:443" rel="noreferrer" target="_blank">api.fastnetmon.io:443</a>"<br>
><br>
> [...]<br>
><br>
> Just for the record:<br>
><br>
> Разгадка в том, что поддержки HTTP/2 в proxy - нет и не<br>
> планируется.<br>
><br>
> Основное преимущество SPDY и HTTP/2 перед HTTP - это больший<br>
> параллелизм при меньших затратах на установление соединений (одно<br>
> соединение, в нём много запросов одновременно). При работе с<br>
> бекендом - с тем же успехом можно поддерживать нужное количество<br>
> HTTP-соединений, разницы по latency - не будет, по throughput -<br>
> обычный HTTP будет лучше, выигрыш HTTP/2 - только по ресурсам на<br>
> уровне ядра (меньше сокетов).  И чтобы этот выигрыш получить -<br>
> надо переписать работу с upstream'ами чуть менее, чем полностью,<br>
> добавив поддержку мультиплексирования нескольких запросов в одном<br>
> соединении.  Смысла тратить на это силы и время - очень мало.<br>
<span class="HOEnZb"><font color="#888888">><br>
> --<br>
> Maxim Dounin<br>
> <a href="http://nginx.org/" rel="noreferrer" target="_blank">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" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
<br>
<br>
<br>
--<br>
Sincerely yours, Pavel Odintsov<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" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></font></span></blockquote></div><br></div>