Перейти к содержимому

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

Как работает прокси

Как сборник решений: сопоставить один раз, решить для каждого запроса, затем проксировать или защитить. Плоскости управления никогда не нужно перезапускать границу ради обычных изменений правил.

  1. Запрос приходит на POP

    Браузеры, API и агенты обращаются к границе TenthMatrix WSL Proxy (Docker, bare-metal POP через Ansible или k3s Helm ingress). OpenResty принимает TLS и переходит на горячий путь Lua.

  2. Сопоставление правила маршрутизации

    gateway_ack.lua загружает виртуальный хост и оценивает живые правила с диска или из Redis: путь, IP, страна, JWT, S3, cookie и другое. Победителя определяют приоритет и специфичность — без перезагрузки nginx.

  3. Конвейер: rate limit → WAF → ответ

    Конвейер шлюза выполняет ограничение частоты, затем движок WAF (этапы + сигнатуры), после чего gateway_resp.lua применяет действие ответа и таймауты балансировщика.

  4. Определение результата

    Типичные исходы: 305 — обратное проксирование на upstream, 301/302 — редирект, статическая HTML-блокировка, CAPTCHA-проверка или 403 — блокировка WAF с заголовками support ID.

  5. Балансировка и наблюдение

    Для проксируемых ответов balancer_by_lua применяет weighted, RR, canary, sticky или least-conn. Данные о состоянии, метрики и статистика трафика поступают в эксплуатацию и ИИ-хуки логов.

  6. Конфигурацией управляют операторы и агенты

    Люди используют админ-панель / 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 на этой странице.

Конвейер пути запроса

  1. rewrite_by_lua: gateway_ack.lua выбирает правило маршрутизации
  2. gateway_pipeline.execute(): rate-limit → WAF → продолжить
  3. waf_engine.inspect(): загрузить политику, определить привязку, выполнить этапы, затем сигнатуры
  4. При блокировке: 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_GEOIP-списки и геоРазрешение/запрет 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.

  1. Пограничный POP

    OpenResty + горячий путь Lua: сопоставление правил, ответ, балансировка бэкендов.

  2. Живая конфигурация

    Правила, WAF и разделение трафика с диска или из Redis — без перезагрузки nginx при повседневных изменениях.

  3. Плоскость управления

    Админ-панель, REST, MCP и wslproxy-cli для людей и агентов.

  4. Origin-серверы

    API, сервисы k3s, статические сайты и будущие upstream для MCP / агентов.

Продолжить на сайте продукта

Посетите wslproxy.org — демо, документация и последние релизы TenthMatrix WSL Proxy.

wslproxy.org

Получить TenthMatrix WSL Proxy

Изучите продукт на wslproxy.org, прочитайте подробный разбор WAF на TenthMatrix или обсудите с нами развёртывание границы, CDN, WAF и агентного шлюза.