为什么需要网关认证?
OpenClaw 网关默认监听 127.0.0.1:18789,仅本机可访问。但如果你将网关暴露到局域网或公网(用于接收 Webhook 回调等场景),就需要配置认证来防止未授权访问。
认证模式
在 openclaw.json 的 gateway.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 控制防抖间隔,避免频繁写入触发多次重载。