Конфигурация HAProxy для web ELMA365
Aрхитектура высокодоступного кластера ELMA365 подразумевает взаимодействие микросервисов приложения ELMA365 в рамках отказоустойчивого кластера. Для равномерной балансировки трафика между серверами кластера Kubernetes установите конфигурацию HAProxy. В случае сбоя это обеспечит стабильную работу системы.
Пример конфигурации HAProxy для web ELMA365
В этой статье представлена конфигурация HAProxy, с помощью которой равномерно происходит балансировка клиентских подключений, приходящих на elma365.your_domain
, между серверами Kubernetes-кластера.
Чтобы создать конфигурацию HAProxy для web ELMA365 выполните следующие действия:
- Откройте для редактирования конфигурационный файл
haproxy.cfg
с помощью команды:
sudo nano /etc/haproxy/haproxy.cfg
- Внесите изменения в конфигурационный файл
haproxy.cfg
:
Пример конфигурации:
### Web ELMA365 ###
listen elma365_web
bind haproxy-server.your_domain:80
mode http
balance leastconn
no option http-use-htx
# http-use-htx is deprecated and ignored since Haproxy 2.1
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
# http-use-htx is deprecated and ignored since Haproxy 2.1
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