У нас есть много устройств, которые не могут использовать SNI, и мы хотим смочь проксировать много серверов HTTP/HTTPS. Я думал, что мы могли установить HAProxy для каждого URL для соединения с первоначально, и затем загружаться балансируют его прочь к универсальному серверу HAProxy. Это работало бы? Я имею в виду, просто использую серверы фронтэнда, чтобы сделать соединение начальной буквы HTTP/HTTPS на URL и затем выдать запрос к универсальному haproxy серверу?
Да, хотя haproxy для этого будет излишним. Вы даже можете привязать stunnel
с соответствующим сертификатом к каждому IP-адресу и подключить их к вашему центральному HAproxy.
Нет необходимости иметь более одного HAproxy.
listen ssl-domain1
bind public-ip-1:443
# <- ssl config here ->
server haproxy localhost:6000
listen ssl-domain2
bind public-ip-2:443
# <- ssl config here ->
server haproxy localhost:6000
... # more ssl listeners
frontend http-proxy
bind localhost:6000
acl application1 hdr_beg(host) -i domain1
acl application1 hdr_beg(host) -i domain1.2
acl application2 hdr_beg(host) -i domain2
# ...
use_backend application1 if application1
# ...
Не особенно красиво, но я считаю, что справился бы со своей работой.