- padrão:
http://<host>:18789/ - com
gateway.tls.enabled: true:https://<host>:18789/ - prefixo opcional: defina
gateway.controlUi.basePath(por exemplo,/openclaw)
Configuração (ativada por padrão)
A UI de Controle fica ativada por padrão quando os ativos estão presentes (dist/control-ui):
Webhooks
Quandohooks.enabled=true, o Gateway também expõe um endpoint de Webhook no mesmo servidor HTTP. Consulte hooks na referência de configuração do Gateway para saber mais sobre autenticação e cargas úteis.
RPC HTTP administrativo
POST /api/v1/admin/rpc expõe métodos selecionados do plano de controle do Gateway por HTTP. Fica desativado por padrão e só é registrado quando o Plugin admin-http-rpc está ativado. Consulte RPC HTTP administrativo para conhecer o modelo de autenticação, os métodos permitidos e a comparação com a API WebSocket.
Acesso pelo Tailscale
- Serve integrado (recomendado)
- Vinculação à tailnet + token
- Internet pública (Funnel)
Mantenha o Gateway no local loopback e permita que o Tailscale Serve atue como proxy:Inicie o Gateway:Abra
https://<magicdns>/ (ou o gateway.controlUi.basePath configurado).Observações de segurança
- A autenticação do Gateway é exigida por padrão: token, senha, proxy confiável ou cabeçalhos de identidade do Tailscale Serve, quando ativados.
- Vinculações fora do local loopback ainda exigem autenticação do Gateway: autenticação por token/senha ou um proxy reverso com reconhecimento de identidade usando
gateway.auth.mode: "trusted-proxy". - O assistente de integração cria autenticação por segredo compartilhado por padrão e geralmente gera um token do Gateway, mesmo no local loopback.
- No modo de segredo compartilhado, a UI envia
connect.params.auth.tokenouconnect.params.auth.passworddurante o handshake do WebSocket. - Com
gateway.tls.enabled: true, os auxiliares locais de painel/status renderizam URLshttps://e URLs de WebSocketwss://. - Nos modos que incluem identidade (Tailscale Serve,
trusted-proxy), a verificação de autenticação do WebSocket é atendida pelos cabeçalhos da solicitação, em vez de um segredo compartilhado. - Para implantações públicas da UI de Controle fora do local loopback, defina
gateway.controlUi.allowedOriginsexplicitamente (origens completas). Carregamentos privados da mesma origem são aceitos sem essa configuração para hosts de local loopback, RFC1918/link-local,.local,.ts.nete CGNAT do Tailscale. gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback: trueativa o fallback de origem pelo cabeçalho Host; isso representa uma redução perigosa da segurança.- Com o Serve, os cabeçalhos de identidade do Tailscale atendem à autenticação da UI de Controle/WebSocket quando
gateway.auth.allowTailscale: true(nenhum token ou senha é necessário). Os endpoints da API HTTP não usam cabeçalhos de identidade do Tailscale; eles sempre seguem o modo normal de autenticação HTTP do Gateway. Definagateway.auth.allowTailscale: falsepara exigir credenciais explícitas mesmo pelo Serve. Esse fluxo sem token pressupõe que o próprio host do Gateway seja confiável. Consulte Tailscale e Segurança.
Compilação da UI
O Gateway disponibiliza arquivos estáticos dedist/control-ui: