Убраны упоминания GitHub; ссылка только на git.kalinamall.ru. Добавлены docs/git.md, docs/haproxy-install.md, docs/letsencrypt-acme.md.
reverse-proxy
Периметровая конфигурация HAProxy для сети kalinamall.ru: Exchange, RDS (веб/шлюз по HTTPS), 1С, Git (git.kalinamall.ru, доступ с allowlist IP), почтовый шлюз KSMG. Прямой RDP (3389) через HAProxy не используется — клиенты идут через RDS на 443 (rds.kalinamall.ru).
TLS: на целевых серверах в основном wildcard-сертификаты GlobalSign; Git (git.kalinamall.ru) использует свой сертификат на 192.168.160.129. HAProxy на 443 работает в режиме TCP + SNI и не терминирует TLS — сертификаты остаются на бэкендах.
Репозиторий: https://git.kalinamall.ru/PapaTramp/reverse-proxy
Соответствие имён и адресов
| Служба | Внешнее имя (клиенты) | Внутренний хост / IP | Порт снаружи |
|---|---|---|---|
Microsoft Exchange (OWA https://ext.kalinamall.ru/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 (443 на HAProxy) |
k6a-dc3.b26.kalinamall.ru — 192.168.160.40, служба 4430 | 443 (SNI → внутр. 4430) |
| 1С | erp.kalinamall.ru |
hp-serv.b26.kalinamall.ru — 192.168.160.150 | 443 |
| Git (HTTPS) | git.kalinamall.ru |
git.kalinamall.ru — 192.168.160.129 (свой TLS-сертификат; снаружи HAProxy пускает только 5.100.81.121) | 443 (TCP/SNI) |
| Почтовый шлюз (KSMG) | ksmg.kalinamall.ru |
ksmg.kalinamall.ru — 192.168.160.57 | 25 |
DNS: записи A для ext, autodiscover, rds, erp, git, ksmg должны указывать на публичный IP хоста с HAProxy. Имя autodiscover.kalinamall.ru должно быть в SAN wildcard *.kalinamall.ru или отдельно в сертификате на Exchange.
Доступ по SSH к внутренним хостам (например Ubuntu 192.168.160.85) в этом репозитории не настраивается через HAProxy — организуйте отдельно (прямой проброс, VPN, бастион и т.д.).
В режиме TCP + SNI отдельные строки в HAProxy для путей вроде /owa не нужны: после согласования TLS клиент шлёт HTTP внутри шифрования, разбор путей делает IIS/Exchange на 192.168.160.42.