KI / Automatisierung 6. Mai 2026

06.05.2026 OpenClaw-Dual-Gateway: Ports, OPENCLAW_STATE_DIR und Nginx-Upstream-Rollout auf einem geleasten Apple-Silicon-Cloud-Mac (HK / JP / KR / SG / US)

MacXCode Ingenieurteam 6. Mai 2026 ~24 Min. gelesen

Gleiche MaschineLeih-Mac mini M4obenZwei OpenClaw-GatewaysEs gibt viele Teams, die antreten wollen. neben der AufführungKanarienvogelvom Kunden-Webhook getrennt.InszenierungUm beispielsweise eine Modellberechtigungsliste von zu haben. Falsche Konfiguration – Portkollision, gemeinsam genutzt~/.openclaw, sieht die Änderung des Nginx-Gewichts während der Anfrage wie ein Modellfehler aus.502 SturmIn Wirklichkeit handelt es sich jedoch nur um die Rohrleitungen. Das06.05.2026Leitfaden zur Vermeidung von KollisionenLoopback-Abhörport, getrenntOPENCLAW_STATE_DIRBaum,slow_startmitNginxstromaufwärts undGesundheitssondeOrdne sie der Reihe nach,Hongkong, Tokio, Seoul, Singapur, USAErmöglicht Ihnen, den Datenverkehr abzuleiten, ohne sich auf SSH-Helden verlassen zu müssen. Für Agenten, die überlappende Repositorys lesen,Nginx- und Webhook-Eingang,Gesundheitssonde,Prioritäten der Umgebungsvariablen von launchd,Disziplin des FeilenwerkzeugsBitte verbinden Sie sich mit.

Wann lohnt sich die Komplexität von Dual-Gateways?

Wenn das Budget es zulässtZweiter MacBitte geben Sie dem Hinzufügen des Zeugenknotens Vorrang.PreisseiteSehen. Auch wenn Sie an eine gebunden sind, kann eine duale Konfiguration in folgenden Fällen nützlich sein:

  • Mit geregeltem und experimentellem VerkehrModellberechtigungslistesind unterschiedlich.
  • In Inszenierung und ProduktionGeheimnis der Webhook-SignaturDie Rotationsperiode ist unterschiedlich.
  • CPU-PinningIch habe keine, aber ich möchte eine Wand mit einem Explosionsradius zwischen dem Kanarienvogel und der eigentlichen Sitzung.
Geschätzter numerischer Wert:Erste48 Stundenist die Anfrage nach Kanarienvogelgewichten.5–12 %und nur solange das Fehlerbudget grün ist.10 %In Schritten erhöhen.

Topologie: parallel aktiv/aktiv und primär/Standby

Paralleles Aktiv/Aktiv ist geeignet, wenn Sie Clients randomisieren können oder die vollständige Kontrolle über die Nginx-Gewichte haben. Primär/Standby ist für Teams gedacht, die definitives Debuggen benötigen, sodass jeweils nur ein Gateway schreibintensive Tools auf einem gemeinsam genutzten Git-Spiegel hat. Die Wahl istlaunchctlBitte dokumentieren Sie das Etikett am selben Ort wie die README-Datei.

Muster Vorteil Nachteile
Aktiv/aktiv Durchsatz, Einweichen auf Augenhöhe mit der Realität Erfordert idempotente Webhooks und deduplizierte Nebenwirkungen
Primär/Standby Einfache Protokolle, einfache Rollbacks CPU im Leerlauf, es sei denn, der Standby-Modus führt synthetische Sonden aus

Port, Bindungsadresse, Launchd-Label

lsofVerlassen Sie sich nicht auf einen kostenlosen Port, den Sie erst einmal gesehen haben. Auf Plist und Nginx behoben. Beispiel zur Anpassung der Semantik:

export OPENCLAW_GATEWAY_PORT_PRIMARY=18789 export OPENCLAW_GATEWAY_PORT_CANARY=18890

Beide127.0.0.1binden an0.0.0.0:443bleibt Nginx überlassen. Nur Kanarienvogel::1Wenn Ihr Upstream nur IPv4 nutzt, werden Sie gespenstische Verbindungszurücksetzungen erleben. Die Adressfamilie istAusgehende DNS/TLS-ToleranzBitte befolgen Sie die Richtlinien.

Staatsverzeichnis: Warum Sie ~/.openclaw nicht teilen sollten

Jedes Gateway hat sein eigenesOPENCLAW_STATE_DIRerforderlich ist (z.B./var/lib/openclaw-prodUnd/var/lib/openclaw-canary). Das Teilen eines Zuhauses kann zu Sitzungsdateikonflikten und verschmutzten Caches führen, wenn eine Partei den API-Schlüssel weitergibt. Wenn launchd für beide Jobs dieselbe UID verwendet, stellen Sie sicher, dass die Verzeichnisse getrennt sind und keine gemeinsamen SQLite- oder Sitzungsstammverzeichnisse haben.

Sicherung:Erstellen Sie einen Snapshot beider Statusverzeichnisse, bevor Sie die Nginx-Gewichte ändern. Der Rollback istrsyncUndlaunchctl KickstartUnd ich spreche nicht von einer Neuinstallation.

Nginx-Upstream: Gewichte, slow_start, max_fails

Ein laufender ServerblockReverse-Proxy-Artikelund duplizieren Sie die Upstream-Definition.

Upstream openclaw_primary { server 127.0.0.1:18789 max_fails=3 fail_timeout=20s; } Upstream openclaw_canary { server 127.0.0.1:18890 max_fails=1 fail_timeout=10s slow_start=30s; }

je nach Risikotoleranzsplit_clientsoder gewichtetProxy_Passverwenden.Proxy_read_timeoutentspricht dem längsten zulässigen Modell-Roundtrip – das Trennen von Gateways verringert die LLM-Verzögerung nicht.

Beim Neuladen von Nginxworker_connectionsUndKeepaliveDenken Sie daran, dass die Pools pro Arbeiter gelten. Wenn Sie das Limit nicht durch Verdoppelung des Upstreams erhöhen, stoßen Sie bei Webhook-Burst-Neuübertragungen an eine Obergrenze.stub_statusWenn Sie es bekommen können, holen Sie es sich, und wenn nicht, analysieren Sie die Upstream-Antwortzeit im Zugriffsprotokoll. p95 sofort nach dem Neuladen35 %Wenn es stärker springt, vermute ich eher Arbeiterhunger als OpenClaw-Einstellungen. Wenn die TLS-Last hoch ist, stimmen Sie die Chiffren für Staging und Prod aufeinander ab und aktivieren Sie nicht versehentlich die langsame Route nur auf der Canary-Seite.

Neben dem OpenClaw-Status-Snapshot ein explizitesNginx-Tarball für RollbackBitte dokumentieren. Für Betreiber, die nur einen Snapshot des Node-Baums erstellt und Nginx vergessen haben:Karte $http_x_forwarded_protoDer Tippfehler in zwei Zeilen im Parser „Fail Closed“ führt dazu, dass beide Gateways viele Male gleichzeitig unterbrochen werden.

Gesundheitsprüfung: Schalten Sie beide auf Grün, bevor sich der Verkehr bewegt

BereitschaftssondeDie gleiche Lockenmatrix wiebeideAuf dem lokalen Port von ausführen und nach dem Neuladen auch über Nginx ausführen. Protokollieren Sie den HTTP-Status, die Upstream-Verbindungszeit und die TLS-Handshake-Zeit separat, um Nginx-Regressionen von OpenClaw-Regressionen zu isolieren.

8-stufige Rollout-Checkliste

  1. Schnappschussplist, nginx, beide Staatsverzeichnisse.
  2. installierenZweites Gateway (Binär- oder NPM-Pins sind die gleichen wie bei der Produktion).
  3. in jedem BaumOpenclaw-ArztUnabhängig überprüft.
  4. Kanarische Gewichte in Nginx0(Schwarzes Loch bis es fertig ist).
  5. Von der InszenierungSynthetische Webhook-WiedergabeMit geräuchert.
  6. Erhöhen Sie das Gewicht auf Kanarienscheiben (5–12 %).
  7. 48hFehlerbudget beachten.
  8. Mit dokumentierten GewichtsschrittenFörderungoderRollback.

Zeitüberschreitungen, Webhook-Wiederholungsversuche und doppelter Versand

Doppelte Konfigurationen erhöhen das Risiko einer doppelten Zustellung, wenn der Upstream aktiv erneut versucht. Der Handleridempotenter SchlüsselBeachten Sie unbedingt die Deduplizierungsmarkierung und platzieren Sie sie im richtigen Statusverzeichnis.Proxy_read_timeoutentspricht dem TCP-Leerlauflimit des Anbieters – die Wiederholungstabelle ist esWebhook-Versand und -SignierungSehen.

SLO-Signal Schwelle Aktion
Upstream-Verbindung zu Localhost p95 > 120ms Stoppen Sie Gewichtsveränderungen und untersuchen Sie die eingeleitete Drosselung
5xx-Verhältnis in 15 Minuten> 0,5 % Lassen Sie das Gewicht des Kanarienvogels auf Null ab
Warteschlange halten ausstehender Auftrag> 200 Fügen Sie einen zweiten Mac hinzu oder reduzieren Sie die Parallelität – fügen Sie kein drittes Gateway hinzu

SLO-Tabelle: Bedeutung von „gesundes Dual-Gateway“

Behandeln Sie die Dual-Gateways als Mini-Service-Mesh und messen Sie jeden Hop. Wenn die Produktion grün ist und nur der Canary gegen SLO verstößt, korrigieren Sie die Canary-Einstellungen, bevor Sie an Nginx herumbasteln.

Das interne Dashboard zeigt die Informationen für jedes Gateway an.4 Zeilen: RSS verarbeiten, CPU %, Anzahl der laufenden HTTPs, Anzahl fehlgeschlagener Upstream-Verbindungen aus Nginx-Protokollen. Canary RSS aus der Produktion mit dem gleichen Traffic-Gewicht18 %Wenn die Abweichung größer ist, liegt wahrscheinlich ein Speicherverlust im Plugin oder eine Nichtübereinstimmung im Knotenserver vor.OPENCLAW_STATE_DIRInnpm ls -- Depth = 0Bitte vergleichen. Teams, die diesen Vergleich auslassen, verbringen ihre Wochenenden damit, die „LLM-Qualitätsverschlechterung“ zu verfolgen, aber die Realität ist, dass es sich um einen Kanarienvogel handelt.Dasselbe Fertigkeitspaket wurde zweimal geladenDas ist das Muster.

vierteljährlichNginx-KomplettstoppBitte proben. Stoppen Sie Nginx absichtlich, stellen Sie sicher, dass Launchd beide Gateways mit Loopback am Leben hält und Bot-Seiten an die richtigen Personen weiterleitet. Das Ziel besteht darin, die Verfügbarkeit zu verbessern und nicht den Pager zu verdoppeln.

FAQ: TLS, DNS, Geheimnisse

Frage Praktische Antworten (06.05.2026)
Benötige ich für jedes Gateway ein TLS-Zertifikat? Normalerweise unnötig – einmal mit Nginx beenden und das Gateway führt nur eine Schleife zurück.
Gleicher API-Schlüssel für beide? Vermeiden – Unabhängige Drehung, um den Explosionsradius zu verringern. Das Verfahren istUpgrade und RollbackSehen.

Warum Mac mini M4 Bare Metal das Dual-Gateway-Chaos immer noch vereinfacht

Die duale KonfigurationCPUScheibegestartetvon Hauptbüchern gleichzeitig. Im MacXCode-Knoten1–2 TBNVMe-VerleihMac mini M4Macht die Loopback-Verzögerung von Nginx→OpenClaw vorhersehbar und nächtlichxcodebuildLässt im einheitlichen Speicher Platz, um zwei Knotendiagramme auszuführen, ohne Kerne von benachbarten Lanes zu übernehmen. Diese Vorhersehbarkeit macht gewichtsbasierte Rollouts messbar. Anstatt einen bereits ausgelasteten Host mit einem dritten Gateway zu belasten.Dedizierter zweiter KnotenWenn die Operation es erfordertRegionale Preise, Blake Glass autorisiert den neuen TLS-Vertrauensanker mit VNChelfenUndVNCBitte auch mit angeben.

Fügen Sie einen zweiten Builder vor einem dritten Gateway hinzu

HK / JP / KR / SG / US · SSH / optional VNC