Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Схема размещения компонентов
При большом количестве одновременно открытых сессий к размещению 2 целесообразно добавить дополнительные серверы доступа.
Пусть их имена будут gw2 gw3 gw4 и т.д., настройка производится аналогично.
IP адреса HAProxy и дополнительных серверов доступа необходимо перечислить в настройках Indeed PAM Core в файле
...
C:\inetpub\wwwroot\api\Web.config в секции PamProxyIpAddresses:
| Code Block | ||
|---|---|---|
| ||
<add key="PamProxyIpAddresses" value="192.168.10.140, 192.168 |
...
.10.145, 192.168.10.146, 192.168. |
...
10. |
...
147, 192.168. |
...
10. |
...
148 " /> |
В настройках User Console в файле C:\inetpub\wwwroot\uc\assets\config\config.prod.json в секции Gateway Server необходимо ввести адрес балансировщика, например
...
:
| Code Block | ||
|---|---|---|
| ||
"gatewayServer": {
"address": "haproxy.indeed-id.local"
},
|
...
Настройки HAProxy в случае с четырьмя серверами
...
представлены в примере:
| Code Block | ||
|---|---|---|
| ||
global
log |
...
/dev/haproxy/log local0 # см https://en.wikipedia.org/wiki/Syslog#Facility
log |
...
/dev/haproxy/log local1 notice # notice - уровень ошибки. весь список: emerg, alert, crit, err, warning, notice, info, debug chroot |
...
/var/lib/haproxy # изменяем директорию выполнения для защиты от атак, папка пуста и нет прав maxconn 256 |
...
# максимальное количество одновременных подключений.
stats |
...
socket /run/haproxy/admin.sock mode 660 level admin # связывает сокет с admin.sock stats |
...
timeout 3s
user |
...
haproxy
group |
...
haproxy daemon # Запустить процесс в фоновом режиме defaults log global # параметры лога берутся из секции global mode tcp # режим работы |
...
экземпляра HAProxy option dontlognull |
...
# отключить логи для |
...
фиктивных |
...
подключений timeout connect |
...
5000ms timeout client 50000ms timeout server 50000ms retries 3 # кол-во попыток до того, как понизить статус сервера # Статистика stats enable |
...
# включение вывода статистики stats |
...
hide-version # скрытие версии HAProxy на странице статистики stats |
...
realm |
...
HAProxy\ Statistics # установка authentication realm stats |
...
uri /haproxy |
...
# |
...
установка |
...
ссылки на страницу статистики stats |
...
auth stat:stat |
...
# |
...
логин |
...
и |
...
пароль |
...
от |
...
страницы статистики # Алгоритм выбора сервера balance roundrobin # выбор сервера |
...
перебором |
...
по порядку
frontend |
...
ft_rdp
mode tcp
bind 192.168.10.140:3389 |
...
# Адрес и порт на HAProxy для подключения клиентов timeout client 1h log global option tcplog # настройка логов TCP подключений с состояниями и таймерами tcp-request inspect-delay 2s # установка максимального времени анализа входящего соединения tcp-request content accept if RDP_COOKIE # сессия открывается при наличии RDP протокола default_backend bk_rdp |
...
# |
...
название backend, |
...
обрабатывающего запросы backend bk_rdp mode |
...
tcp
balance |
...
leastconn # выбор сервера с наименьшим числом активных соединений timeout |
...
server 1h
timeout |
...
connect 4s
log |
...
global
option |
...
tcp-check # Выполнить проверку доступности по TCP, tcp-check connect port 3389 ssl # открывая зашифрованное соединение на порт 3389. stick-table type ip size 1m expire |
...
12h # настраиваем таблицу привязки по ip размером 1 млн записей и временем жизни записи 12 часов stick on src # |
...
использовать ip-адрес клиента для привязки default-server inter 3s rise 2 fall 3 # Установить интервал проверки у серверов backend 3 сек. Сервер будет считаться активным после 2 успешных проверок и недоступным после 3 неудачных проверок. server gw4 192.168.10.148:3389 weight 10 check verify none |
...
####################### server gw3 192.168.10.147:3389 weight 10 check verify none #Сервера PAM Gateway server gw2 192.168.10.146:3389 weight 10 check verify none |
...
#веса серверов равны относительно друг друга server gw1 192.168.10.145:3389 weight 10 check verify none |
...
#проверка доступности включена, сертификат не проверяется |