1.Установите HAProxy. Для этого выполните команду:
sudo apt-get install haproxy
2.Создайте резервную копию стандартного конфигурационного файла HAProxy /etc/haproxy/haproxy.cfg.
3.В конфигурационном файле /etc/haproxy/haproxy.cfg задайте настройки:
•PATH_TO_PEM_CERT – путь к SSL-сертификату в формате PEM.
•LOGIN, PASSWORD – имя и пароль пользователя для входа на страницу статистики HAProxy. Имя и пароль ранее не использовались, их нужно задать на этом этапе.
Подробнее пример конфигурационного файла см. ниже.
4.Если развернуто несколько экземпляров веб-сервера и сервисов Directum RX, то для отказоустойчивой работы рекомендуется настроить обратный прокси-сервер HAProxy так, чтобы он проверял работоспособность экземпляров веб-сервера и следующих сервисов:
•KeyDerivationService – сервис ключей;
•LogService – сервис логирования;
•IntegrationService – сервис интеграции;
•PreviewStorage – сервис хранения файлов предпросмотра;
•StorageService – сервис хранилищ;
•SungeroWebClient – сервис, отвечающий за аутентификацию в системе.
Если хотя бы одна проверка работоспособности (HealthCheck) вернет статус unhealthy, то экземпляр сервиса исключается из балансировки до стабилизации работы. Запросы обрабатываются другими работающими экземплярами сервиса.
Задайте настройки в том же конфигурационном файле /etc/haproxy/haproxy.cfg:
•убедитесь, что в секции frontend есть настройка блокировки URL проверки работоспособности. Это нужно, чтобы URL не был доступен клиенту из внешней сети. Если настройки нет, то добавьте ее:
# disable healthcheck url
acl health_page path_beg,url_dec -i /Client/api/health
http-request deny if health_page
•для сервисов добавьте секцию backend <имя сервиса>-nodes-backend. Например, для проверки статуса сервиса интеграции она выглядит следующим образом:
backend integration-nodes-backend
option httpchk
http-check send meth GET uri /integration/health hdr host <HOST>
balance roundrobin
server node01 <IP>:<PORT> check
server node02 <IP>:<PORT> check
В примере вместо значений, выделенных жирным шрифтом, укажите свои значения. В параметре HOST укажите полное доменное имя сервера (FQDN), на котором развернут сервис или веб-сервер. Для остальных сервисов секция заполняется аналогично.
5.Перезапустите HAProxy:
sudo systemctl haproxy restart
Чтобы управлять HAProxy используйте команды:
•для перезапуска:
sudo systemctl haproxy restart
•для остановки:
sudo systemctl haproxy stop
Пример заполнения конфигурационного файла
Далее в примере вместо значений, выделенных жирным шрифтом, укажите свои значения. Предположим, следующее: •система Directum RX должна быть развернута по адресу https://rx.example.com/client/; •для отказоустойчивости развернуто два узла с IP-адресами 192.168.1.30 и 192.168.1.31; •экземпляры сервиса ключей развернуты отдельно, в защищенном контуре, на узлах с адресами 192.168.1.40 и 192.168.1.41. В этом случае пример конфигурационного файла будет следующий: global Важно. Если Directum RX обновлена с более ранних версий, в конфигурационном файле замените значение Client на drxweb. Подробное описание параметров см. в документации HAProxy статью Configuration Manual. Образец заполненного файла с актуальным составом сервисов и настроек можно посмотреть в файле haproxy_balancer.cfg.example. |
© Компания Directum, 2024 |