Начните с пяти шагов, которые можно повторить на любом PoP: (1) TLS только на региональном прокси; (2) upstream исключительно на локальный OpenClaw (127.0.0.1 или UDS); (3) липкость по cookie или по исходному IP для интерактива; (4) отдельный сервис или backend для /ready и глубоких проб; (5) маленький агрегатор JSON → одна строка digest для дежурства. Контур без overlay и обратного туннеля описан в материале про loopback и ssh -R; TTL и липкость DNS — в split-horizon и GeoDNS; выбор глобального имени и пути SSH — в матрице глобального входа 2026. Дальше — четыре раздела HowTo: сертификаты, таймауты, upstream-здоровье и политика привязки OpenClaw.
Типичные срывы: health-проверка попадает в тот же пул, что и браузерные сессии, и сбивает липкость; цепочка ProxyJump обрывается из‑за короткого idle на середине; публичный SAN не совпадает с внутренним upstream — получаете «зелёный» curl с хоста и «красный» через прокси.
| Решение | Когда подходит | Риск, если пренебречь |
|---|---|---|
| Отдельный backend для проб | Нужна липкость для UI/API, но честный срез здоровья пула | Иначе пробы «перетягивают» сессии на «холодный» инстанс |
| Cookie-based stickiness (Traefik/HAProxy) | Несколько реплик OpenClaw за одним VIP в регионе | Без secure/httpOnly и ротации — утечка идентификатора сессии |
| Digest проб по region+fingerprint | Несколько команд шлют синтетику в один шлюз | Без дедупликации — лавина одинаковых алертов |
Таблица — критерий приёмки перед выкатом: в тикете укажите, какой режим липкости включён, куда смотрит health и какой ключ использует агрегатор digest.
Сертификаты: публичная цепочка, upstream и при необходимости mTLS
Терминируйте TLS на Traefik или HAProxy в том же регионе, где крутится OpenClaw. Публичный сертификат (Let’s Encrypt или корпоративный CA) должен покрывать имя, которое видит клиент. До upstream на loopback часто достаточно HTTP или TLS с внутренним CA; если OpenClaw слушает TLS с самоподписанным сертификатом, на прокси включите доверие к внутреннему корню только на этом hop, не смешивая его с доверием браузера.
- Traefik.
tls.certresolverдля публичного роутера; отдельныйserversTransportсinsecureSkipVerifyтолько для внутреннего upstream, зафиксированный в IaC и запрещённый для внешних доменов. - HAProxy.
bind :443 ssl crtс полным PEM (сертификат + цепочка); для backend —ssl verify required ca-fileна внутренний CA либо явныйcheckчерез HTTP на UDS. - Липкость. Включайте после того, как цепочка доверия стабильна: иначе массовые ретраи TLS маскируются как «плохой» backend.
- Журнал. Логируйте
ssl_client_verify/ fingerprint отдельно от пользовательских запросов, чтобы отличить ошибку клиента от деградации OpenClaw.
Таймауты: клиент, прокси, upstream и цепочка SSH JumpHost
Выровняйте три слоя: таймаут HTTP-клиента (SDK или curl), readTimeout / timeout client на входе и таймаут до upstream на прокси. Для длинных промптов OpenClaw upstream-таймаут должен быть не короче, чем ожидаемый хвост генерации, иначе прокси оборвёт поток раньше приложения.
- SSH ProxyJump. В
~/.ssh/configзадайте для каждого хопаServerAliveInterval 30,ServerAliveCountMax 4, по возможностиControlMaster autoиControlPersist 10m, чтобы повторные вызовы не открывали новый TCP на каждый инструмент. - Цепочка. Пример:
ProxyJump bastion-%r,vpshalo-mac— сначала региональный бастион на vpshalo, затем удалённый Mac; не используйте один глобальный бастион как «чёрный ящик» без лимитов. - Согласование. Если
ConnectTimeoutна первом прыжке 5 с, а на втором 30 с, при медленном DNS вы будете стабильно падать на первом прыжке — зафиксируйте таблицу в runbook. - Прокси. Для HAProxy разведите
timeout tunnel(для WebSocket, если появится) и обычный HTTP; для Traefik — отдельные middleware на маршруты с длинным телом ответа.
# Минимальная проверка цепочки с таймаутами (замените хосты)
ssh -vvv -o ProxyJump=bastion.example.com \
-o ConnectTimeout=10 -o ServerAliveInterval=30 \
user@mac-internal.example.com 'echo ok'
Проверки здоровья upstream и объединённый digest отказов
Определите две полосы: лёгкая GET /healthz или /ready без тяжёлых зависимостей и редкая «глубокая» проверка (например, короткий вызов inference smoke). Лёгкая полоса участвует в автоматическом drain; глубокая — только в отчётах и в digest, чтобы не выбивать липкие сессии из пула.
- Traefik. Отдельный router на путь
/readyс другим service или прямым endpoint; не reuse тот же load-balancer sticky key, что и для UI. - HAProxy.
option httpchk GET /readyна отдельный backendbk_openclaw_nosticky; пользовательский трафик —bk_openclaw_stickyсcookie SERVERID insertилиbalance sourceпо политике. - JSON-событие. Поля:
region,pop,lane(edge/ready/deep),error_class,rtt_ms,fingerprint(хэш от типа ошибки + путь). Воркер за 3–5 минут строит одну строку вида[sg] ready:2×timeout; jp: OK— это и есть digest для кросс-регионального алерта. - Эскалация. Мультирегион только при совпадении
error_classв двух+ PoP в одном окне; одиночный PoP — региональный инцидент без «глобального» пейджера.
Стратегия привязки OpenClaw: регион, каталог и bind
OPENCLAW_HOME и адрес bind шлюза должны быть привязаны к одному PoP: не разделяйте состояние между континентами и не публикуйте один глобальный A/AAAA без политики, которая описана вместе с GeoDNS. Шлюз слушает только loopback или приватный интерфейс; наружу выходит только прокси.
- Каталог.
/var/lib/openclaw/<region>в unit systemd на каждом узле vpshalo; секреты — из vault с региональным префиксом. - Масштабирование. Горизонтальные реплики внутри региона — за балансировщиком с липкостью; кросс-регион — только через явный маршрут клиента (разные URL или split-horizon), а не через общий пул.
- Наблюдаемость. Метка
regionв логах OpenClaw и в access log прокси должна совпадать; расхождение — дефект инвентаря. - Откат. При росте 5xx или digest выше порога сначала drain через health, затем откат конфигурации прокси; правки
OPENCLAW_HOME— после стабилизации TLS и таймаутов.
Итог и покупка. Воспроизводимый успех — это не «ещё один health», а разведение липкости, проб и секретов по регионам на инфраструктуре vpshalo. Выберите PoP рядом с командой и CI, сравните ёмкость на странице тарифов, оформите аренду удалённого Mac в том же регионе, что бастион и шлюз, и закрепите runbook в помощи. Так вы уменьшите RTT по SSH и по HTTPS к OpenClaw и снизите шум digest без потери наблюдаемости.
Блог, главная и тарифы
Техноблог · Главная · Тарифы · Оформить аренду — подберите узел и регион под шлюз OpenClaw и цепочку JumpHost.