Команды, которые держат OpenClaw v2026.5.x на сборщиках vpshalo, рано или поздно упираются в липкость cookie у Traefik или в граф visitor поверх frp STCP. nginx stream с ssl_preread на 443/tcp читает SNI в ClientHello и проксирует сырой TCP к loopback-слушателям, оставляя терминирование TLS процессу OpenClaw. Ниже — минимальный воспроизводимый путь: топология, фрагменты stream, сертификаты и токены, объединение status и doctor и кросс-региональная сводка, нарочно отделённые от Traefik и HAProxy, frp STCP и Cloudflare Tunnel.

Зеркальные флаги OpenClaw по JP, KR, HK, SG, US West; TLS вынесен на укреплённую Linux-кромку. Разделы: топология, stream, сертификаты и токены, объединённые пробы, FAQ, шесть шагов и цитируемые тезисы. Шлюз и doctor остаются на 127.0.0.1.

1) Traefik по умолчанию ориентирован на HTTP и провоцирует двойной TLS, если режим TCP не аккуратен. 2) frp чинит исходящие хосты, но плодит токены и графы STCP. 3) Раздельные дашборды status и doctor поднимают тревогу, когда дрожат только туннели SSH.

Шаблон Когда уместен Чем платите
Traefik L7 Нужна липкость по cookie для управляющих HTTP-API Больше роутеров, если не свести к чистым TCP-слушателям
frp STCP Сборщики не принимают входящий TCP из интернета Токен frps и секретные ключи на каждый прокси, требующие ротации
nginx stream SNI На периметре уже работает nginx, нужны passthrough-карты Дисциплина reload и жизненный цикл ACME на этой VM
Cloudflare Tunnel Удобно отдать вход управляемому SaaS, не открывая 443 Ещё одна плоскость управления и свой профиль задержки

Топология: Mac-сборщики, Linux-кромка, OpenClaw на loopback

Каждый Mac mini M4 на vpshalo запускает OpenClaw v2026.5.x с флагами --gateway-bind 127.0.0.1:18080 и --doctor-bind 127.0.0.1:18081. Туннель ssh -R или приватный VPC-канал поднимает соответствующие порты на интерфейсе Linux-кромки — например 10.42.1.17:18080 и 10.42.1.17:18081. Внешние клиенты ходят к именам gw.example и doctor.example; nginx читает только SNI в ClientHello и не расшифровывает байты.

Имена в DNS распределены по тем же гео-метро, где живут пайплайны CI. Сводка отвечает одной строкой: упала кромка, туннель к сборщику или сам OpenClaw. Журналируйте security-group, через которую nginx достаёт билдер-хоп.

Фрагменты nginx stream для маршрутизации по SNI

Подключите отдельный контекст stream { } рядом с уже работающим блоком http { }. Включите ssl_preread на публичном слушателе, разложите имена через map в пары upstream:port и поставьте щедрый proxy_timeout, потому что управляющие сессии живут часами. Перед промоушеном в продакшен обязательно прогоняйте nginx -t в CI, иначе генератор конфигов однажды положит периметр.

# /etc/nginx/stream.d/openclaw-sni.conf — подставьте имена и upstream-IP
map $ssl_preread_server_name $openclaw_upstream {
    gw.example     10.42.1.17:18080;
    doctor.example 10.42.1.17:18081;
    default "";
}
server {
    listen 443 reuseport;
    proxy_pass $openclaw_upstream;
    ssl_preread on;
    proxy_connect_timeout 5s;
    proxy_timeout 24h;
}
Границы: пустой default отбрасывает неизвестный SNI и не светит сборщик. Никогда не коммитьте токены. Если доступ к VPC непрямой, добавьте JumpHost по сценарию из материала про Traefik.

Сертификаты, токены и привязки OpenClaw v2026.5.x

В большинстве установок TLS терминирует сам шлюз OpenClaw, а nginx работает в режиме passthrough и не видит открытых байтов. Если же терминирование смещают на nginx, придётся самим вести цепочку fullchain.pem, права на приватный ключ и хуки reload. На корпоративных периметрах, где HTTP-01 блокирован фильтрами, выручает ACME DNS-01 на Linux-кромке.

Управляющие токены подгружайте через drop-in для systemd из менеджера секретов, а не из открытых файлов в /etc. Закрепляйте версию v2026.5.x по хешу контейнера или тарбола в каждом регионе vpshalo, чтобы апгрейд катился синхронно. Ротацию токенов проводите в опубликованных окнах обслуживания и сразу после неё прогоняйте объединённые пробы по обоим именам — это дешевле, чем ловить молчащий регион постфактум.

Слияние status и doctor плюс кросс-региональная сводка

Воркер на бастионе раз в минуту дёргает https://gw.example/healthz и https://doctor.example/v1/status по одному и тому же SNI-каналу. Ответы сводятся в одну строку JSON с полями region, gw_ok, doctor_ok, tls_days_left и epoch. Тревога зажигается только если обе плоскости отказали в одном пятиминутном окне.

Минутный digest сортирует регионы, выносит наверх худшую серьёзность и приклеивает git_sha. Разбор инцидента JP против US West остаётся в одной панели.

FAQ: stream против остальных входов OpenClaw

Заменяет ли stream JumpHost SSH? Нет. Stream закрывает только парадную TLS-дверь, а операторы по-прежнему ходят к сборщикам через бастион из соседних материалов.

Можно ли gateway и doctor разделять одно SNI-имя? Лучше избегать: разные имена держат map очевидным и позволяют пробам отдельно опросить каждую плоскость до слияния.

А QUIC и HTTP/3? Шаблон сознательно ограничен TCP; стек на UDP оценивайте отдельно, когда эксперименты с задержкой действительно того стоят.

Шесть шагов для выката

  • 1. Заморозьте хеши OpenClaw v2026.5.x по регионам и сложите тарболы для отката.
  • 2. Принудите loopback-привязки на каждом сборщике vpshalo; убедитесь через lsof -nP -iTCP, что на публичном интерфейсе ничего не слушает.
  • 3. Выпустите TLS-материал для имён gw и doctor; reload автоматизируйте через systemd path.
  • 4. Раскатайте блок map $ssl_preread_server_name; в CI требуйте зелёный nginx -t до промоушена.
  • 5. Сожмите security-группы так, чтобы лишь VM-кромка имела право достучаться до loopback-хопа сборщика.
  • 6. Включите объединённые пробы и кросс-региональную сводку до того, как открыть доступ операторам.

Тезисы для runbook

  • SNI preread в nginx stream оставляет владение TLS процессу OpenClaw на loopback, кромка лишь рулит TCP.
  • Сводите JSON шлюза и JSON doctor до тревоги; кросс-региональный digest шлите только после пятиминутного тихого окна.
  • Берите stream, когда nginx уже стоит на периметре; оставляйте Traefik или frp, если их фичи действительно совпадают с профилем риска.
  • Любая ротация сертификата сопровождается тестом reload и немедленной валидацией объединённых проб.
Оговорка: примеры конфигов очищены от секретов; модули stream и ssl_preread должны быть собраны в вашем nginx; следуйте указаниям Apple и вашего Linux-вендора по эксплуатации сети.

Итог. nginx stream SNI к loopback-шлюзу OpenClaw на vpshalo — узкий и управляемый вход; объединённый status/doctor сводит мультирегион в одну плоскость наблюдения. Подберите регион удалённого Mac по реальным цифрам RTTтарифы vpshalo совпадут с регионами вашей сводки.

Помощь, главная и связанные материалы по OpenClaw

Выбирайте вход, который команда умеет эксплуатировать

Помощь · Главная · Блог. Связано: frp STCP, Traefik JumpHost, Cloudflare Tunnel, Tailscale.

Тарифы · Покупка · Токио · Сеул · Гонконг · Сингапур · Запад США

Арендовать региональный Mac-сборщик Помощь На главную Статьи об OpenClaw