- domyślnie:
http://<host>:18789/ - z
gateway.tls.enabled: true:https://<host>:18789/ - opcjonalny prefiks: ustaw
gateway.controlUi.basePath(np./openclaw)
Konfiguracja (domyślnie włączona)
Interfejs sterowania jest domyślnie włączony, gdy zasoby są dostępne (dist/control-ui):
Webhooki
Gdyhooks.enabled=true, Gateway udostępnia również punkt końcowy Webhooka na tym samym serwerze HTTP. Informacje o uwierzytelnianiu i ładunkach zawiera sekcja hooks w dokumentacji konfiguracji Gatewaya.
Administracyjne RPC przez HTTP
POST /api/v1/admin/rpc udostępnia wybrane metody płaszczyzny sterowania Gatewaya przez HTTP. Funkcja jest domyślnie wyłączona i rejestrowana tylko po włączeniu pluginu admin-http-rpc. Informacje o modelu uwierzytelniania, dozwolonych metodach i porównaniu z API WebSocket zawiera strona Administracyjne RPC przez HTTP.
Dostęp przez Tailscale
- Zintegrowane Serve (zalecane)
- Powiązanie z tailnetem + token
- Publiczny internet (Funnel)
Pozostaw Gateway w local loopback i pozwól usłudze Tailscale Serve działać jako serwer proxy:Uruchom Gateway:Otwórz
https://<magicdns>/ (lub skonfigurowaną ścieżkę gateway.controlUi.basePath).Uwagi dotyczące bezpieczeństwa
- Uwierzytelnianie Gatewaya jest domyślnie wymagane: token, hasło, zaufany serwer proxy lub — po włączeniu — nagłówki tożsamości Tailscale Serve.
- Powiązania inne niż local loopback nadal wymagają uwierzytelniania Gatewaya: tokenem/hasłem lub przez odwrotny serwer proxy rozpoznający tożsamość z ustawieniem
gateway.auth.mode: "trusted-proxy". - Kreator wdrażania domyślnie tworzy uwierzytelnianie współdzielonym sekretem i zwykle generuje token Gatewaya, nawet w local loopback.
- W trybie współdzielonego sekretu interfejs wysyła
connect.params.auth.tokenlubconnect.params.auth.passwordpodczas uzgadniania połączenia WebSocket. - Przy
gateway.tls.enabled: truelokalne narzędzia pulpitu i stanu generują adresy URLhttps://oraz adresy URL WebSocketwss://. - W trybach przekazujących tożsamość (Tailscale Serve,
trusted-proxy) kontrola uwierzytelniania WebSocket jest realizowana na podstawie nagłówków żądania zamiast współdzielonego sekretu. - W przypadku publicznych wdrożeń interfejsu sterowania poza local loopback ustaw jawnie
gateway.controlUi.allowedOrigins(pełne źródła). Prywatne żądania z tego samego źródła są akceptowane bez tego ustawienia dla local loopback, adresów RFC1918/link-local oraz hostów.local,.ts.neti Tailscale CGNAT. gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback: truewłącza awaryjne ustalanie źródła na podstawie nagłówka Host; jest to niebezpieczne osłabienie zabezpieczeń.- W przypadku Serve nagłówki tożsamości Tailscale spełniają wymagania uwierzytelniania interfejsu sterowania/WebSocket, gdy
gateway.auth.allowTailscale: true(token ani hasło nie są wymagane). Punkty końcowe API HTTP nie używają nagłówków tożsamości Tailscale; zawsze stosują zwykły tryb uwierzytelniania HTTP Gatewaya. Ustawgateway.auth.allowTailscale: false, aby wymagać jawnych danych uwierzytelniających nawet przez Serve. Ten przepływ bez tokena zakłada, że sam host Gatewaya jest zaufany. Zobacz Tailscale i Bezpieczeństwo.
Budowanie interfejsu
Gateway udostępnia pliki statyczne zdist/control-ui: