Конфигурация HAProxy для web ELMA365
Aрхитектура высокодоступного кластера ELMA365 подразумевает взаимодействие микросервисов приложения ELMA365 в рамках отказоустойчивого кластера. Рассматриваемая в данной статье конфигурация HAProxy для ELMA365 предполагает равномерную балансировку трафика между нодами отказоустойчивого кластера Kubernetes.
Пример конфигурации HAProxy для web ELMA365
HAProxy равномерно балансирует между нодами Kubernetes-кластера клиентские подключения, приходящие на elma365.your_domain.
Откройте для редактирования конфигурационный файл haproxy.cfg с помощью команды:
sudo nano /etc/haproxy/haproxy.cfg
Пример конфигурации для настройки балансировки нагрузки до Kubernetes-кластера с помощью HAProxy для добавления в файл haproxy.cfg:
### Web ELMA365 ###
listen elma365_web
bind haproxy-server.your_domain:80
mode http
balance leastconn
no option http-use-htx
option forwardfor
option httpclose
server elma365-1 elma365-1.your_domain:80 check
server elma365-2 elma365-2.your_domain:80 check
server elma365-3 elma365-3.your_domain:80 check
### Web ELMA365 ###
Пример конфигурации HAProxy с использованием SSL
Включение SSL возможно, если встроена поддержка OpenSSL. В параметре crt укажите путь до файла PEM, содержащего требуемые сертификаты и связанные закрытые ключи (fullchain-сертификат). Eсли файл не содержит закрытого ключа, HAProxy попытается загрузить ключ по тому же пути с суффиксом .key.
Если вместо PEM-файла используется имя каталога, то все файлы, найденные в этом каталоге, будут загружены в алфавитном порядке, кроме файлов заканчивающихся на .issuer, .ocsp и .sctl (зарезервированные решения).
В параметре ca-file укажите путь до файла PEM, содержащего корневой сертификат. Подробнее читайте в Configuration Manual для используемой версии HAProxy. Пример для HAProxy 2.5:
### Web ELMA365 ###
listen elma365_web
bind elma365.your_domain:443 ssl crt /etc/haproxy/ssl/elma365-server.your_domain.pem
mode http
balance leastconn
no option http-use-htx
option forwardfor
option httpclose
server elma365-1 elma365-1.your_domain:443 check inter 2s ssl crt /etc/haproxy/ssl/elma365-server.your_domain.pem ca-file /etc/haproxy/ssl/rootCA_your_domain.pem
server elma365-2 elma365-2.your_domain:443 check inter 2s ssl crt /etc/haproxy/ssl/elma365-server.your_domain.pem ca-file /etc/haproxy/ssl/rootCA_your_domain.pem
server elma365-3 elma365-3.your_domain:443 check inter 2s ssl crt /etc/haproxy/ssl/elma365-server.your_domain.pem ca-file /etc/haproxy/ssl/rootCA_your_domain.pem
### Web ELMA365 ###
|
Перезапустите HAProxy:
sudo systemctl restart haproxy