2017-02-16 50 views
3

У меня есть веб-приложение, написанное в Go и загрузка, сбалансированное HAProxy. HAProxy также обрабатывает завершение SSL/TLS. В настоящее время ответы - это все HTTP/1.1, и я бы хотел, чтобы они были HTTP/2. Я пробовал различные вещи в haproxy.conf, но не смог заставить его работать.HAProxy с завершением SSL и HTTP/2 в Go

Я могу получить автономный сервер Go, который обрабатывает собственное SSL-соединение для использования HTTP/2, но похоже, что все текущие браузеры поддерживают только HTTP/2 через TLS. Означает ли это, что мне нужно обрабатывать завершение SSL в самом веб-приложении? Или есть какое-то обходное решение, о котором я не знаю, так что я могу продолжить завершение SSL на балансировщике нагрузки и использовать HTTP/2?

Похоже, это невозможно, но я надеюсь, что есть способ сделать это, так как в противном случае мне нужно иметь дело с сертификатами SSL в каждом веб-приложении, а не только в балансировщике нагрузки.

+0

Что вы надеетесь получить, если соединение с бэкэнд будет http/2? Ничто не поддерживает HTTP/2 без tls, поэтому вам придется обрабатывать tls независимо от того, что. – JimB

+0

Right @JimB, но это похоже на вопрос о том, где в стеке может быть выгружен TLS - он не обязательно должен быть на сервере приложений, он может быть перед этим. –

+0

@JeffRogers это, конечно, конфигурация, которая должна работать, но HAProxy еще не может говорить h2, поэтому она должна быть в режиме tcp, что отключает множество его возможностей и больше не может принимать какие-либо решения о маршрутизации. Это та часть, которую вам не хватает? –

ответ

3

Или есть некоторые обходные пути, о которых я не знаю, так что я могу продолжить завершение SSL на балансировщике нагрузки и использовать HTTP/2?

Если у вас все в порядке, вам нужен балансировщик нагрузки HTTP/2, который может проксировать ваши запросы в ваше приложение. Вы можете использовать nginx. Он может отлично делать http2 termination, балансировку нагрузки и многое другое. Возможно, вам вообще не понадобится haproxy. Однако haproxy полезен, если вам нужны некоторые дополнительные функции, такие как липкие сеансы. Nginx также может их выполнять, но только в коммерческой версии.

Вот статья (в кеше Google), как setup nginx + haproxy.

+0

Да, это то, что я пытаюсь сделать. Я надеялся продолжать использовать HAProxy, потому что я уже знаком с ним, и он работает хорошо для меня. Я оставлю этот вопрос открытым дольше, чтобы узнать, есть ли у кого-либо другие мысли и принять это в противном случае. –

+1

Я думал, вы можете использовать их вместе. Nginx как терминатор h2, который просто передает что-либо гапрокси и делает «все волшебные вещи». –

 Смежные вопросы

  • Нет связанных вопросов^_^