3.7 KiB
reverse-proxy
Периметровая конфигурация HAProxy для сети kalinamall.ru: Exchange, RDS, 1С, почтовый шлюз KSMG, ограниченный RDP и SSH.
TLS: на целевых серверах используются wildcard-сертификаты GlobalSign; HAProxy на 443 работает в режиме TCP + SNI и не терминирует TLS — сертификаты остаются на бэкендах.
Репозиторий: https://github.com/PTah/reverse-proxy
Соответствие имён и адресов
| Служба | Внешнее имя (клиенты) | Внутренний хост / IP | Порт снаружи |
|---|---|---|---|
| Microsoft Exchange (OWA, EWS, MAPI/HTTPS и т.д.) | ext.kalinamall.ru |
fifth.kalinamall.ru — 192.168.160.42 | 443 (TCP/SNI) |
| Autodiscover | autodiscover.kalinamall.ru |
тот же Exchange — 192.168.160.42 | 443 (TCP/SNI) |
| RDS | rds.kalinamall.ru |
k6a-dc3.b26.kalinamall.ru — 192.168.160.40 | 443 |
| 1С | erp.kalinamall.ru |
hp-serv.b26.kalinamall.ru — 192.168.160.150 | 443 |
| Почтовый шлюз (KSMG) | ksmg.kalinamall.ru |
ksmg.kalinamall.ru — 192.168.160.57 | 25 |
| RDP | (публичный IP / DNS при необходимости) | itis.b26.kalinamall.ru — 192.168.160.198 | 3389 |
| SSH (Ubuntu) | (публичный IP) | 192.168.160.85 | 22 |
DNS: записи A для ext, autodiscover, rds, erp, ksmg (и при необходимости для входа по RDP/SSH) должны указывать на публичный IP хоста с HAProxy. Имя autodiscover.kalinamall.ru должно быть в SAN wildcard *.kalinamall.ru или отдельно в сертификате на Exchange.
Установка
-
Установите HAProxy 2.4+ (нужны
req_ssl_sniиtcp-request content acceptдля SNI). -
Скопируйте
haproxy.cfgв/etc/haproxy/haproxy.cfg. -
Списки доверенных адресов для RDP и SSH:
sudo mkdir -p /etc/haproxy/trusted sudo cp trusted/rdp.lst.example /etc/haproxy/trusted/rdp.lst sudo cp trusted/ssh.lst.example /etc/haproxy/trusted/ssh.lstОтредактируйте
rdp.lstиssh.lst: укажите свои подсети и IP (по одному адресу или CIDR на строку). Удалите заглушку127.0.0.1/32, когда появятся реальные адреса. -
Проверка и перезапуск:
sudo haproxy -c -f /etc/haproxy/haproxy.cfg sudo systemctl reload haproxy
Проверка ssl verify none на бэкендах
В backend для 443 указано ssl verify none, чтобы health-check и при необходимости установка соединения не ломались на внутренних именах/SAN. Если вы выпустите внутренние доверенные CA и зададите их в системе, можно включить проверку (verify required + ca-file).
Порты на фаерволе
Откройте с интернета только: 25, 22, 3389, 443 (и при использовании — 8404 для stats). Остальной трафик — по политике безопасности.
Лицензия
Конфигурация поставляется как есть, без гарантий. Используйте на свой риск.