TenthMatrix WSL Proxy
API-шлюз, CDN и корпоративный WAF — обзор продукта
TenthMatrix WSL Proxy (WSLProxy) — полноценный API-шлюз и пограничная плоскость управления CDN от TenthMatrix. Он стоит перед вашими origin-серверами и для каждого запроса решает, что делать — маршрутизировать, защищать, кэшировать и наблюдать — на основе живых конфигураций JSON и MCP, без перезагрузки nginx при каждом изменении правил.
Что такое TenthMatrix WSL Proxy?
WSLProxy — динамический API-шлюз и обратный прокси на OpenResty. Операторы управляют виртуальными хостами, правилами маршрутизации, политиками WAF, кэшем, разделением трафика и пограничными POP из админ-панели, REST API, инструментов MCP или wslproxy-cli. Повседневные правила применяются на горячем пути; nginx перезагружается только при изменении серверных блоков listen или SSL.
Watch the overview

Смотреть: знакомство с TenthMatrix WSL Proxy
Смотреть
Смотреть на YouTube: Смотреть: знакомство с TenthMatrix WSL Proxywslproxy.org
Смотреть: обзор WSL Proxy WAF
Смотреть
Смотреть на YouTube: Смотреть: обзор WSL Proxy WAFwslproxy.org/waf
Как работает прокси
Как сборник решений: сопоставить один раз, решить для каждого запроса, затем проксировать или защитить. Плоскости управления никогда не нужно перезапускать границу ради обычных изменений правил.
Запрос приходит на POP
Браузеры, API и агенты обращаются к границе TenthMatrix WSL Proxy (Docker, bare-metal POP через Ansible или k3s Helm ingress). OpenResty принимает TLS и переходит на горячий путь Lua.
Сопоставление правила маршрутизации
gateway_ack.lua загружает виртуальный хост и оценивает живые правила с диска или из Redis: путь, IP, страна, JWT, S3, cookie и другое. Победителя определяют приоритет и специфичность — без перезагрузки nginx.
Конвейер: rate limit → WAF → ответ
Конвейер шлюза выполняет ограничение частоты, затем движок WAF (этапы + сигнатуры), после чего gateway_resp.lua применяет действие ответа и таймауты балансировщика.
Определение результата
Типичные исходы: 305 — обратное проксирование на upstream, 301/302 — редирект, статическая HTML-блокировка, CAPTCHA-проверка или 403 — блокировка WAF с заголовками support ID.
Балансировка и наблюдение
Для проксируемых ответов balancer_by_lua применяет weighted, RR, canary, sticky или least-conn. Данные о состоянии, метрики и статистика трафика поступают в эксплуатацию и ИИ-хуки логов.
Конфигурацией управляют операторы и агенты
Люди используют админ-панель / CLI; агенты через REST или инструменты MCP выполняют CRUD для серверов, правил и привязок WAF — та же поверхность, удобный для GitOps pull/push.
| Code | Значение |
|---|---|
| 305 | Обратное проксирование на upstream (основной путь шлюза) |
| 301 / 302 | Редирект |
| 200 HTML | Статическая / брендированная блокировка или промежуточная страница |
| CAPTCHA | Проверка перед продолжением |
| 403 WAF | Заблокировано WAF с заголовками X-WAF-* и X-Support-ID |
Основные функции продукта подробно
Всё необходимое для управляемой границы: маршрутизация, безопасность, CDN-кэш, доставка через несколько POP и плоскость управления, которой могут управлять и люди, и агенты.
Динамические правила маршрутизации
Сопоставление по пути, IP, стране, JWT-claims, ключам в стиле S3 и cookie. Действия: обратный прокси, редирект, HTML-ответы и CAPTCHA. Правила упорядочены по приоритету с разрешением ничьих по специфичности, поэтому побеждает самый точный маршрут — без перезапуска nginx.
Управление трафиком
Балансировка weighted, round-robin, canary по заголовкам, sticky-сессии по cookie и least-conn. Продвигайте или откатывайте бэкенды из плоскости управления, когда canary выглядит исправным, — или верните его одним действием.
Корпоративный движок WAF v2
Пакеты политик привязываются к домену, сервису и маршруту. Этапы охватывают списки разрешённых методов, запрет типов файлов, IP/гео-списки, политику алгоритмов JWT, профили JSON-тела, скорость брутфорса и позитивную безопасность OpenAPI — плюс управляемые сигнатуры атак и оценку аномалий. Режимы блокировки или прозрачный (мониторинг).
CDN и пограничный кэш
Статический пограничный кэш, необязательный кэш Docker blob и хуки Varnish дают слой в стиле CDN перед origin-серверами — идеально для маркетинговых сайтов, документации API и доставки артефактов наряду с трафиком API-шлюза.
SSL и HTTPS
auto-ssl / Let’s Encrypt, SSL JSON для каждого домена и политики принудительного HTTPS, чтобы каждый виртуальный хост корректно терминировал TLS на POP.
Несколько POP + DNS
Объявляйте пограничные локации и создавайте A-записи Cloudflare с защитными ограничениями. Типичная продакшен-схема: публичный POP → k3s NodePort → wslproxy-ingress Helm → поды приложения.
Плоскость управления
Панели React Admin и Next.js, Swagger REST, инструменты MCP для Claude/Cursor и образ wslproxy-cli (ghcr.io/bwalia/wslproxy-cli) для процессов pull/push/diff/verify.
Развёртывание где угодно
Docker Compose для лабораторий, Ansible для bare-metal или ВМ-POP и Helm-чарты ingress-controller для k3s / Kubernetes — единый продукт во всех окружениях.
Наблюдаемость
/health, /healthz, /ready, Prometheus /metrics, traffic stats, structured WAF security logs, and AI log analysis hooks for SRE teams.
Правила WAF и их применение
WAF работает в пути обработки запросов OpenResty (по мотивам корпоративных паттернов NGINX WAF). По умолчанию он работает в режиме fail-open, чтобы ошибка WAF не уронила сайт, объясняет каждую блокировку и обратно совместим с простыми списками правил v1. Для обзора и подробного разбора см. материалы ниже — или посмотрите видео о WAF на этой странице.
Конвейер пути запроса
- rewrite_by_lua: gateway_ack.lua выбирает правило маршрутизации
- gateway_pipeline.execute(): rate-limit → WAF → продолжить
- waf_engine.inspect(): загрузить политику, определить привязку, выполнить этапы, затем сигнатуры
- При блокировке: 403 + X-WAF-Block, X-WAF-Rule, X-WAF-Violation, X-Support-ID
Конвейер этапов (до сигнатур)
| Code | Этап | Подробности |
|---|---|---|
| VIOL_METHOD | Список разрешённых методов | Только разрешённые HTTP-методы (например, GET, POST, HEAD, OPTIONS). |
| VIOL_FILETYPE | Запрет типов файлов | Блокировка чувствительных расширений, таких как .env, .sql, .bak, .git, .pem. |
| VIOL_IP_DENY / VIOL_GEO | IP-списки и гео | Разрешение/запрет CIDR и блокировка стран через базу в стиле IP2Location. |
| VIOL_JWT_ALG | Политика алгоритмов JWT | Запрет слабых алгоритмов (none, HS256); требование RS256/ES256 там, где нужно. |
| VIOL_JSON_SIZE / DEPTH | Профиль JSON-тела | Ограничение глубины JSON и размера тела для защиты парсера от злоупотреблений. |
| VIOL_BRUTE_FORCE | Скорость брутфорса | Скользящие окна по пути (например, /api/login) с ключом по IP. |
| VIOL_OPENAPI_* | Позитивная безопасность OpenAPI | Разрешены только объявленные пары путь+метод (шаблонные пути). |
Правила сигнатур и управление
У каждой сигнатуры есть стабильный ID (адресуемая единица), категория/набор, серьёзность, цель сопоставления (url, args, body, headers, cookies, UA или все), шаблон regex или строка, действие (block или monitor) и оценка аномалии.
disable
signatures.disable полностью отключает правило.
stage
signatures.stage только оповещает до заданного момента — безопасное развёртывание, которое не влияет на оценку аномалий, пока правило в режиме staged.
Наборы сигнатур
Переключайте целые наборы (например, SET_SQLI) между блокировкой и оповещением, не переписывая каждое правило.
Порог аномалий
Совокупная оценка ≥ порога вызывает VIOL_ANOMALY_SCORE, даже если ни одна сигнатура сама по себе не заблокировала бы запрос.
Приоритет привязок
Побеждает самое специфичное: переопределение маршрута → waf_mode_override для сервера → enforcementMode политики по умолчанию (blocking или transparent/monitor). Каждая находка фиксирует, какая привязка победила, поэтому логи отвечают на вопрос “почему это заблокировано?”
Блокировка
Нарушения получают 403 с support ID и необязательной брендированной страницей блокировки.
Прозрачный / мониторинг
Нарушения только вызывают оповещение и логируются — идеально для пробного прогона и staging.
Agents Gateway и MCP Gateway
TenthMatrix выводит WSL Proxy в эпоху агентов. Та же граница, что обслуживает HTTP API, будет управлять тем, как агенты и клиенты Model Context Protocol (MCP) получают доступ к инструментам и бэкендам.
In progress
MCP Gateway (в разработке)
Управляемая точка входа перед внешними MCP-серверами — мост аутентификации, списки разрешённых и запрещённых инструментов/методов, аудит tools/call и ограничения частоты для каждого инструмента. Клиенты никогда не хранят upstream-токены.
In progress
Agents Gateway (в разработке)
Политики, маршрутизация и наблюдаемость для мультиагентного трафика — чтобы парки агентов обращались к origin-серверам через ту же границу TenthMatrix WSL Proxy, что и ваши API и CDN-нагрузки.
Available
Управление через MCP (доступно)
WSLProxy уже предоставляет собственную админ-поверхность как инструменты MCP для Claude, Cursor и других агентов — настраивайте правила и проверяйте границу, не покидая IDE.
Архитектура решения
Клиенты и агенты обращаются к POP TenthMatrix WSL Proxy. Граница сопоставляет живые правила, применяет WAF и кэш, затем балансирует нагрузку на origin-серверы. Операторы управляют всем через админ-панель, REST, MCP или CLI.
Пограничный POP
OpenResty + горячий путь Lua: сопоставление правил, ответ, балансировка бэкендов.
Живая конфигурация
Правила, WAF и разделение трафика с диска или из Redis — без перезагрузки nginx при повседневных изменениях.
Плоскость управления
Админ-панель, REST, MCP и wslproxy-cli для людей и агентов.
Origin-серверы
API, сервисы k3s, статические сайты и будущие upstream для MCP / агентов.
Продолжить на сайте продукта
Посетите wslproxy.org — демо, документация и последние релизы TenthMatrix WSL Proxy.
Получить TenthMatrix WSL Proxy
Изучите продукт на wslproxy.org, прочитайте подробный разбор WAF на TenthMatrix или обсудите с нами развёртывание границы, CDN, WAF и агентного шлюза.