首页 资讯 下载 教程 Skills 社群

OpenClaw 网关认证与访问控制配置

为什么需要网关认证?

OpenClaw 网关默认监听 127.0.0.1:18789,仅本机可访问。但如果你将网关暴露到局域网或公网(用于接收 Webhook 回调等场景),就需要配置认证来防止未授权访问。

认证模式

openclaw.jsongateway.auth 中配置:

Token 认证(推荐)

{
  gateway: {
    port: 18789,
    bind: "loopback",
    auth: {
      mode: "token",
      token: "your-secret-token"
    }
  }
}

访问 Dashboard 或 API 时需要在请求头中携带 Authorization: Bearer your-secret-token

密码认证

{
  gateway: {
    auth: {
      mode: "password",
      password: "your-password"
    }
  }
}

访问 Dashboard 时会弹出登录框,输入密码即可。

无认证

{
  gateway: {
    auth: {
      mode: "none"
    }
  }
}

仅建议在 bind: "loopback" 时使用,即仅本机访问的场景。

信任代理

如果 OpenClaw 运行在反向代理(如 Nginx、Caddy)后面,可以配置信任代理模式:

{
  gateway: {
    auth: {
      mode: "token",
      token: "your-secret-token",
      allowTailscale: true
    },
    trustedProxies: ["127.0.0.1", "10.0.0.0/8"]
  }
}

绑定地址

gateway.bind 控制网关监听的网络范围:

{
  gateway: {
    bind: "loopback"   // 仅本机
    // bind: "lan"      // 局域网
    // bind: "0.0.0.0"  // 所有网络接口
  }
}
  • loopback:仅 127.0.0.1,最安全
  • lan:局域网可访问
  • 自定义 IP 或 0.0.0.0:所有接口

Dashboard 控制面板

{
  gateway: {
    controlUi: {
      enabled: true,
      basePath: "/openclaw"   // Dashboard 路径前缀
    }
  }
}

启动后访问 http://127.0.0.1:18789/openclaw 即可打开 Dashboard。

Tailscale 集成

OpenClaw 原生支持 Tailscale Serve/Funnel:

{
  gateway: {
    tailscale: {
      mode: "serve",        // serve: 仅 Tailscale 网络内访问
      resetOnExit: false    // 退出时是否撤销 Tailscale 配置
    }
  }
}
  • serve:仅 Tailscale 网络内的设备可访问
  • funnel:公网可访问(用于接收 Webhook)

远程网关模式

OpenClaw 支持本地客户端连接远程网关:

{
  gateway: {
    mode: "remote",
    remote: {
      url: "ws://gateway.tailnet:18789",
      token: "remote-token"
    }
  }
}

mode: "local" 是默认值,表示在本机运行网关。mode: "remote" 表示连接到远端已运行的网关实例。

配置热重载

{
  gateway: {
    reload: {
      mode: "hybrid",
      debounceMs: 300
    }
  }
}

网关会监视配置文件变更,debounceMs 控制防抖间隔,避免频繁写入触发多次重载。