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

HAProxy перенаправляет несколько доменов

У меня только один общедоступный IP-адрес и три веб-сервера в LAN. Я хочу перенаправить трафик с WAN к веб-серверу, подобному этому, должен поддерживать SSL/TLS перенаправление трафика:

https://www.example.com (A Record)===> 1.1.1.1(Public IP) ===> 192.168.1.1(Web 1)

https://www.example.net (A Record)===> 1.1.1.1(Public IP) ===> 192.168.1.2(Web 2)

Жестяная банка HAProxy закончить эту работу?

Если у вас есть сертификат / ключ для сайтов, вы можете перенаправить на разные серверы для нескольких полных доменных имен. Прокси-сервер высокой доступности должен иметь возможность расшифровывать трафик и читать заголовок хоста, если вы не хотите пытаться это сделать с пересылкой TCP, но вы теряете возможность сохранять постоянство. ваши файлы сертификатов должны быть в формате PEM.

 frontend https--in
  bind 1.1.1.1:443 ssl crt /etc/haproxy/certs
  mode http
  option httplog
  use_backend bk_1 if { hdr_dom(host) -i www.example.com }     { dst_port 443 }
  use_backend bk_2 if { hdr_dom(host) -i apps.example.com }    { dst_port 443 }
  use_backend bk_3 if { hdr_dom(host) -i www.otherdomain.com } { dst_port 443 }

Если у вас только 1 внешний IP-адрес, вам нужно будет привязать сертификат SAN к внешней стороне, которая содержит все URL-адреса, которые вы хотите направить. Посмотрите на использование ACL для направления трафика. Как видно на https://seanmcgary.com/posts/haproxy---route-by-domain-name (не мой блог). HAProxy - идеальное решение для этого.

Не нужно использовать haproxy, он не предназначен для балансировки http / https. В нашей среде мы используем nginx с настроенными восходящими потоками. Также вы можете завершить ssl на nginx и используйте простой http на бэкэнде.