Document OWA /owa under ext SNI (no extra HAProxy rules)

This commit is contained in:
PTah
2026-04-11 18:33:31 +10:00
parent ea7568a74d
commit c411a4940b
2 changed files with 5 additions and 1 deletions
+3 -1
View File
@@ -10,7 +10,7 @@ TLS: на целевых серверах используются **wildcard-с
| Служба | Внешнее имя (клиенты) | Внутренний хост / IP | Порт снаружи |
|--------|------------------------|----------------------|--------------|
| Microsoft Exchange (OWA, EWS, MAPI/HTTPS и т.д.) | `ext.kalinamall.ru` | fifth.kalinamall.ru — **192.168.160.42** | 443 (TCP/SNI) |
| 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` | k6a-dc3.b26.kalinamall.ru — **192.168.160.40** | 443 |
| 1С | `erp.kalinamall.ru` | hp-serv.b26.kalinamall.ru — **192.168.160.150** | 443 |
@@ -20,6 +20,8 @@ TLS: на целевых серверах используются **wildcard-с
DNS: записи **A** для `ext`, **`autodiscover`**, `rds`, `erp`, `ksmg` (и при необходимости для входа по RDP/SSH) должны указывать на **публичный IP** хоста с HAProxy. Имя `autodiscover.kalinamall.ru` должно быть в **SAN** wildcard `*.kalinamall.ru` или отдельно в сертификате на Exchange.
В режиме **TCP + SNI** отдельные строки в HAProxy для путей вроде `/owa` **не нужны**: после согласования TLS клиент шлёт HTTP внутри шифрования, разбор путей делает **IIS/Exchange** на `192.168.160.42`.
## Установка HAProxy на Ubuntu 24.04 (Noble)
Для этого репозитория нужен HAProxy **не ниже 2.4**. Конструкции `req_ssl_sni` и `tcp-request content accept` (разбор ClientHello для SNI в TCP-режиме) входят в штатные сборки **2.8.x** из Ubuntu 24.04 и во все актуальные ветки **3.x**.
+2
View File
@@ -24,6 +24,7 @@ defaults
# HTTPS (443): маршрутизация по SNI → внутренние серверы с wildcard на 443
# Клиенты: ext, autodiscover (Exchange) / rds / erp.kalinamall.ru
# Бэкенды: Exchange, RDS, 1С (см. README)
# Пути URL ( /owa, /ecp, /ews/, /mapi/ … ) HAProxy не разбирает — они внутри TLS; достаточно SNI ext.kalinamall.ru
# -----------------------------------------------------------------------------
frontend fe_https_sni
@@ -32,6 +33,7 @@ frontend fe_https_sni
tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type 1 }
# OWA: https://ext.kalinamall.ru/owa — тот же поток, отдельное правило не требуется
use_backend be_exchange if { req_ssl_sni -i ext.kalinamall.ru }
use_backend be_exchange if { req_ssl_sni -i autodiscover.kalinamall.ru }
use_backend be_rds if { req_ssl_sni -i rds.kalinamall.ru }