Сеть и автоматизация 14 мая 2026 г.

2026-05-14 OpenClaw: исходящий HTTP/HTTPS-прокси на арендованном ProxyMac Mac mini — почему export в SSH обманывает и как launchd должен наследовать переменные

Инженерная команда ProxyMac 14 мая 2026 г. ~17 мин чтения

Если вы запускаете OpenClaw на арендованном Mac mini с Apple Silicon в Гонконге, Японии, Корее, Сингапуре или США, ноутбук разработчика часто уже выходит в интернет через корпоративный HTTP(S)-прокси, а облачная mini этот путь не получает автоматически. Типично: в SSH выполняют export HTTP_PROXY=... — вызовы модели успешны; LaunchAgent launchd не наследует переменные, и винят «задержку OpenClaw». Здесь (1) фильтр аудитории, (2) симптомы, похожие на сбои модели, (3) четырёхрежимная матрица, (4) девятиступенчатый runbook для launchd, (5) таблица сценариев PAC / split tunnel / TLS-инспекция, (6) ловушки NO_PROXY для stdio MCP. Сопоставьте с MCP и launchd, чек-листом headless SSH, маршрутизацией split tunnel VPN, JSON токена шлюза. GUI по необходимости: VNC; тарифы: pricing; диагностика: help.

Кому нужно явно прописывать исходящий HTTP(S)-прокси для OpenClaw

Сначала проверьте, доходит ли маршрут по умолчанию с mini в публичный интернет без той же цепочки инспекции, что у ноутбука. Регулируемые банки, OEM с глобальным ZTNA, гибриды с белым списком только 443 SaaS часто требуют явного прокси и для небраузерных демонов. Если политика запрещает публичный egress без прокси, процесс шлюза OpenClaw должен соблюдать тот же контракт. При прозрачном перенаправлении на маршрутизаторе иногда достаточно NO_PROXY — но подтверждайте curl -v или захватом, а не догадкой.

  • Количественный порог: curl -I https://api.openai.com без --proxy даёт 407, с прокси — успех → явный прокси.
  • Порог задержки: центральный прокси на другом континенте часто добавляет 180–320 мс RTT — поднимайте таймауты MCP и не раздувайте параллель без причины.
  • Порог параллелизма: корпоративные прокси часто ограничивают одновременные туннели CONNECT значениями 30–80 — снижайте параллель OpenClaw раньше, чем писать «нестабильно».

Симптомы, похожие на сбой модели или «не та регион»

Ошибки HTTP редко красиво появляются в JSONL как «нужна аутентификация прокси». Чаще — таймауты TLS, обрывы ровно через 60 или 120 секунд, поток, который умер после первого токена при смене ключа прокси. DNS успешен, а TCP зависает: типичный split DNS, отправляющий api.* на резолверы только в VPN, которых mini не подняла. Прежде чем переносить нагрузку из Японии в Сингапур, воспроизведите loopback-curl с теми же флагами прокси, что у launchd.

Тройка для тикета: (1) строка HTTP/прокси из verbose curl, (2) помогает ли один HTTPS_PROXY для TLS-целей, (3) жив ли stdio MCP — если да, чаще всего сломан только исходящий путь.

Матрица решений: статический, PAC, прозрачный, отсутствует

Режим Как видит OpenClaw Следствие для launchd Главный риск
Статический http://host:port Библиотеки читают HTTP_PROXY/HTTPS_PROXY Дублировать в plist EnvironmentVariables Секреты в world-readable plist при неверном chmod
URL PAC / WPAD Без разбора PAC часто как «нет настроек» Часто нужен wrapper с экспортом разрешённого прокси PAC меняется тихо — фиксируйте версию в Git
Прозрачная TLS-инспекция Нет переменных; корпоративный CA в рукопожатии Доверие CA в системной связке ключей Ротация корня ломает TLS до обновления
Нет (прямой) Публичный egress из региона mini NO_PROXY для локального MCP всё равно нужен Случайный провал комплаенса, если позже добавят прокси

Девять шагов: доказательство в SSH, затем паритет launchd

  1. Инвентаризация: HTTP_PROXY, HTTPS_PROXY, ALL_PROXY, NO_PROXY, вендорские ключи.
  2. Доказательство curl: на mini curl -v --proxy http://proxy:8080 https://api.anthropic.com и архив verbose.
  3. Plist: победивший набор в EnvironmentVariables; не полагаться только на ~/.zshrc — см. статью про MCP.
  4. Разделение секретов: не вставлять Basic-пароли в тикеты — файлы как в статье про токен.
  5. Гигиена NO_PROXY: 127.0.0.1,localhost,*.local и RFC1918 для MCP.
  6. Согласование VPN: ноутбук в full tunnel? Сначала таблица маршрутов mini по статье split/full.
  7. Дым launchctl: launchctl kickstart и сравнение исходящих строк JSONL с SSH передним планом.
  8. Замочка: 500 последовательных вызовов модели при 3 параллельных воркерах.
  9. Откат: ревизии plist в Git; bootout и возврат за 2 минуты.
Не опирайтесь на sudo -E в продакшен LaunchAgent надолго — больше поверхность атаки и ненадёжная передача дочерним MCP.

Таблица корпоративных сценариев (до кручения таймаутов найдите свою строку)

Сценарий Наблюдаемый сигнал Рычаг OpenClaw
Центральный EU-прокси, mini в США RTT > 220 мс к прямому пути Увеличить таймауты HTTP-клиента; снизить параллель в полёте
SSL-инспекция в духе Zscaler TLS alert unknown CA Корпоративный корень в системную связку и обновить кэш доверия
Split tunnel без подсети mini DNS ок, SYN не завершается Починить маршруты VPN-клиента; зеркалировать политику ноутбука
Ротация учётных данных прокси каждые 12 ч Всплески 407 при смене смены Короткоживущие токены или управляемый помощник учётных данных

Ловушки: ошибка NO_PROXY ломает stdio MCP, модель кажется «здоровой»

Серверы stdio MCP слушают высокие порты 127.0.0.1. Пустой NO_PROXY может отправить loopback в корпоративный прокси: модель отвечает, файловые инструменты висят. NO_PROXY=* полностью обходит прокси (риск комплаенса). Явный список через запятую и сравнение с curl --noproxy '*' http://127.0.0.1:8765/health. Финальную строку храните рядом с plist в том же репозитории, что и артефакты headless-чек-листа.

export HTTP_PROXY=http://proxy.corp.local:8080 HTTPS_PROXY=http://proxy.corp.local:8080 NO_PROXY=127.0.0.1,localhost,169.254.169.254

FAQ

Регистр переменных окружения? Многие стеки принимают оба варианта — выберите один стиль на флот.

SOCKS и ALL_PROXY? Часто да для не-HTTP-чувствительных инструментов; проверьте той же матрицей curl.

Нельзя хранить пароль прокси на диске? Краткоживущий PAC или sidecar с заголовками; избегайте интерактивных запросов на headless — разовые диалоги доверия через VNC.

Почему арендованный ProxyMac Mac mini — хорошее место для ужесточения egress OpenClaw

Арендованные Mac mini M4 дают нативный macOS-хранилище доверия, предсказуемый single-tenant CPU для TLS-нагруженных прокси-прыжков и выбор региона HK / JP / KR / SG / US, чтобы control plane был ближе к регионам API, чем один европейский бастион. SSH для следов, help для кросс-региональных сценариев, pricing для второй mini, изолирующей prod и staging egress, — без покупки пяти стоек.

Стабилизировать OpenClaw за корпоративным egress

launchd · HTTP_PROXY · HK / JP / KR / SG / US