Назад | Перейти на главную страницу

Интерфейс HAProxy, управляющий как уровнем 4, так и уровнем 7

Я использую HAProxy в качестве обратного прокси для маршрутизации всех моих доменных имен на различные серверы в кластере частных компьютеров. В большинстве случаев трафик представляет собой веб-приложения или API, и для их обслуживания имеет смысл использовать HTTPS. Итак, я создал для этого интерфейс таким образом:

интерфейс Layer7-http-listener

bind *:443 ssl crt /etc/httpd/certs/haproxy.pem
mode http
[...]

У меня также есть один сервер, который ожидает получать зашифрованный трафик TLS и имеет свои собственные сертификаты. Это означает, что мне нужно вернуться к TCP, чтобы данные проходили без дешифрования в HAProxy. Кроме того, в этой ситуации HAProxy не нужно управлять какими-либо сертификатами. Что-то вроде этого:

интерфейсный слой4-слушатель

bind *:443 ssl
mode tcp
[...]

Как новичок, я понимаю, что у HAProxy не может быть 2 фонтанов с похожими привязками, а именно *: 443 здесь.

Как лучше всего справиться с этим, зная, что обе ситуации исходят от разных доменных имен. Пример: httpapp.mydomain.com для слоя 7 и tcpserver.mydomain.com для слоя 4

Я никогда не делал этого сам, но вы могли бы использовать SNI для разделения трафика? Примером является Вот: