Так что я с радостью использую HAProxy для балансировки нагрузки 2 веб-серверов, обслуживающих одну службу. Теперь мне нужно добавить еще 5 веб-серверов, которые будут отвечать на 5 разных имен хостов, и мне нужно использовать тот же интерфейс, что и выше.
Я безуспешно пытался использовать ACL.
У меня есть тестовый клиент с файлом hosts, скомпилированным со всеми именами хостов, указывающими на haproxy, и я использовал что-то вроде следующего в интерфейсе:
acl hw1 hdr_beg(host) -i hw1.test.lan
use_backend back_hw1 if hw1
Затем я установил back_hw1
бэкэнд-сервер, но, похоже, он никогда не совпадает, и я получаю «нет ответа от сервера», когда пытаюсь.
Все веб-серверы используют HTTPS, и я правильно установил SSL в HAProxy при установке первой службы.
Спасибо за любую помощь.
Вместо использования hdr_beg с тем, что кажется полным доменным именем, попробуйте hdr_dom (host).
если запросы ваших клиентов используют https, вы должны попробовать использовать sni acl, а не заголовок хоста.
Попробуйте что-нибудь вроде
acl hw1 req.ssl_sni -i hw1.test.lan
use_backend back_hw1 if hw1