﻿# Конфигурация HAProxy для сервера документов

> [HTML Version](haproxy-docs-server.html)

Архитектура высокодоступного кластера ELMA365 подразумевает взаимодействие микросервисов приложения ELMA365 с сервером документов Р7-Офис, ONLYOFFICE Docs Server. Для равномерной балансировки трафика между двумя серверами документов установите конфигурацию HAProxy. В случае сбоя это обеспечит стабильную работу системы.

## Пример конфигурации HAProxy для сервера документов

В этой статье представлена конфигурация HAProxy, с помощью которой равномерно распределяются клиентские подключения, приходящие на \[OBJECT\], между серверами документов.

Подробнее о том, как подготовить конфигурацию для балансировки трафика между двумя серверами документов, читайте в статье [«Установка сервера документов Р7-Офис»](install-r7-office.md).

Чтобы создать конфигурацию HAProxy для сервера документов выполните следующие действия:

1. Откройте для редактирования конфигурационный файл \[OBJECT\]** **с помощью команды:

````
sudo nano /etc/haproxy/haproxy.cfg

2. ````
Внесите изменения в конфигурационный файл \[OBJECT\]:

Пример конфигурации

````
\### Docs Server ###  
listen docsserver  
    bind r7office.your\_domain:80  
    mode http  
    balance leastconn  
    server r7office1 r7office-server1.your\_domain:80 check inter 2s  
    server r7office2 r7office-server2.your\_domain:80 check inter 2s  
\### Docs Server ###
````

````
Пример конфигурации HAProxy с использованием TLS

  
Включение TLS возможно, если встроена поддержка OpenSSL. В параметре \[OBJECT\] укажите путь до файла PEM, содержащего требуемые сертификаты и связанные закрытые ключи ([fullchain-сертификат)](fullchain-sertificate.md). Eсли файл не содержит закрытого ключа, HAProxy попытается загрузить ключ по тому же пути с суффиксом **.key**.

  
Если вместо PEM-файла используется имя каталога, то все файлы, найденные в этом каталоге, будут загружены в алфавитном порядке, кроме файлов, заканчивающихся на **.issuer**, **.ocsp** и **.sctl** (зарезервированные решения).

  
В параметре \[OBJECT\] укажите путь до файла PEM, содержащего корневой сертификат. Подробнее читайте в **Configuration Manual** для используемой версии HAProxy. Пример для [HAProxy 2.5](https://cbonte.github.io/haproxy-dconv/2.5/configuration.html#5.1-crt):  


````
\### Docs Server ###  
listen docsserver  
    bind r7office.your\_domain:443 ssl crt /etc/haproxy/ssl/r7office-server.your\_domain.pem  
    mode http  
    balance leastconn  
    server r7office1 r7office-server1.your\_domain:443 check inter 2s ssl crt /etc/haproxy/ssl/r7office-server.your\_domain.pem ca-file /etc/haproxy/ssl/rootCA\_your\_domain.pem  
    server r7office2 r7office-server2.your\_domain:443 check inter 2s ssl crt /etc/haproxy/ssl/r7office-server.your\_domain.pem ca-file /etc/haproxy/ssl/rootCA\_your\_domain.pem  
\### Docs Server ###
````

3. ````
Перезапустите HAProxy для применения изменений:

````
sudo systemctl restart haproxy
````