- predeterminado:
http://<host>:18789/ - con
gateway.tls.enabled: true:https://<host>:18789/ - prefijo opcional: establece
gateway.controlUi.basePath(por ejemplo,/openclaw)
Webhooks
Cuandohooks.enabled=true, Gateway también expone un pequeño endpoint de Webhook en el mismo servidor HTTP.
Consulta Configuración de Gateway → hooks para autenticación + payloads.
RPC HTTP de administración
RPC HTTP de administración expone métodos seleccionados del plano de control de Gateway enPOST /api/v1/admin/rpc.
Está desactivado de forma predeterminada y solo se registra cuando el plugin admin-http-rpc está habilitado.
Consulta RPC HTTP de administración para el modelo de autenticación, los métodos permitidos y la comparación con WebSocket.
Configuración (activada de forma predeterminada)
La IU de control está habilitada de forma predeterminada cuando los recursos están presentes (dist/control-ui).
Puedes controlarla mediante la configuración:
Acceso con Tailscale
Serve integrado (recomendado)
Mantén Gateway en loopback y deja que Tailscale Serve lo proxifique:https://<magicdns>/(o tugateway.controlUi.basePathconfigurado)
Enlace de Tailnet + token
http://<tailscale-ip>:18789/(o tugateway.controlUi.basePathconfigurado)
Internet público (Funnel)
Notas de seguridad
- La autenticación de Gateway es obligatoria de forma predeterminada (token, contraseña, trusted-proxy o encabezados de identidad de Tailscale Serve cuando están habilitados).
- Los enlaces no loopback aún requieren autenticación de gateway. En la práctica, eso significa autenticación con token/contraseña o un proxy inverso con reconocimiento de identidad con
gateway.auth.mode: "trusted-proxy". - El asistente crea autenticación con secreto compartido de forma predeterminada y normalmente genera un token de gateway (incluso en loopback).
- En modo de secreto compartido, la IU envía
connect.params.auth.tokenoconnect.params.auth.password. - Cuando
gateway.tls.enabled: true, el panel local y los ayudantes de estado renderizan URL de panelhttps://y URL de WebSocketwss://. - En modos con identidad, como Tailscale Serve o
trusted-proxy, la comprobación de autenticación de WebSocket se satisface desde los encabezados de la solicitud. - Para despliegues públicos no loopback de la IU de control, establece
gateway.controlUi.allowedOriginsexplícitamente (orígenes completos). Las cargas privadas del mismo origen en LAN/Tailnet se aceptan para loopback, RFC1918/link-local,.local,.ts.nety hosts CGNAT de Tailscale. gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=truehabilita el modo de reserva de origen basado en el encabezado Host, pero es una degradación de seguridad peligrosa.- Con Serve, los encabezados de identidad de Tailscale pueden satisfacer la autenticación de la IU de control/WebSocket cuando
gateway.auth.allowTailscaleestrue(no se requiere token/contraseña). Los endpoints de API HTTP no usan esos encabezados de identidad de Tailscale; siguen el modo normal de autenticación HTTP del gateway. Establecegateway.auth.allowTailscale: falsepara requerir credenciales explícitas. Consulta Tailscale y Seguridad. Este flujo sin token asume que el host de gateway es confiable. gateway.tailscale.mode: "funnel"requieregateway.auth.mode: "password"(contraseña compartida).
Compilar la IU
Gateway sirve archivos estáticos desdedist/control-ui. Compílalos con: