feat(haproxy): HTTP-доступ к Zabbix с allowlist zabbix-allowed (0.7.3).

zabbix.kalinamall.ru:80 → 192.168.160.53, только IP из zabbix-allowed.
This commit is contained in:
Andrey Lutsenko
2026-06-13 16:48:54 +10:00
parent e7e653a9e8
commit e3f968347d
4 changed files with 55 additions and 10 deletions
+17 -4
View File
@@ -1,4 +1,4 @@
# Установка HAProxy и развёртывание конфигурации
# Установка HAProxy и развёртывание конфигурации
Для этого репозитория нужен HAProxy **не ниже 2.4**. Конструкции `req_ssl_sni` и `tcp-request content accept` (разбор ClientHello для SNI в TCP-режиме) входят в штатные сборки **2.8.x** из Ubuntu 24.04 и во все актуальные ветки **3.x**.
@@ -44,7 +44,7 @@ sudo haproxy -c -f /etc/haproxy/haproxy.cfg
```bash
sudo cp ~/reverse-proxy/haproxy.cfg /etc/haproxy/haproxy.cfg
sudo cp ~/reverse-proxy/git-sac-allowed ~/reverse-proxy/1c-allowed /etc/haproxy/
sudo cp ~/reverse-proxy/git-sac-allowed ~/reverse-proxy/1c-allowed ~/reverse-proxy/zabbix-allowed /etc/haproxy/
```
3. Проверка и перезапуск:
@@ -60,9 +60,9 @@ sudo haproxy -c -f /etc/haproxy/haproxy.cfg
## Порты на фаерволе
На хосте с HAProxy с интернета обычно открывают только то, что слушает конфиг: **25**, **443** (и при использовании — **8404** для stats). Остальной трафик — по политике безопасности.
На хосте с HAProxy с интернета обычно открывают только то, что слушает конфиг: **25**, **80** (Zabbix HTTP), **443** (и при использовании — **8404** для stats). Остальной трафик — по политике безопасности.
Если позже добавите фронтенд на **80** для ACME (см. [letsencrypt-acme.md](letsencrypt-acme.md)), откройте и **TCP 80**.
Порт **80** используется для **`http://zabbix.kalinamall.ru`** (allowlist `zabbix-allowed`). Для ACME на других именах см. [letsencrypt-acme.md](letsencrypt-acme.md) — потребуется расширить `fe_http_zabbix` маршрутизацией по Host/пути.
## SAC и Seaca (sac-api)
@@ -71,3 +71,16 @@ sudo haproxy -c -f /etc/haproxy/haproxy.cfg
- На nginx SAC (**192.168.160.145**): `server_name sac.kalinamall.ru sac-api.kalinamall.ru;`
Подробнее: [sac-access.md](sac-access.md).
## Zabbix
- **`zabbix.kalinamall.ru`** — **HTTP** на порту **80** (бэкенд **192.168.160.53:80**, без TLS)
- Снаружи: **`http://zabbix.kalinamall.ru`**, не `https://`
- IP-allowlist: **`zabbix-allowed`** (как `git-sac-allowed`)
- DNS: **A** `zabbix.kalinamall.ru` → публичный IP HAProxy
Проверка с allowlist IP:
```bash
curl -sI --resolve zabbix.kalinamall.ru:80:ПУБЛИЧНЫЙ_IP http://zabbix.kalinamall.ru/
```