解决 Moltbot(Clawdbot) 使用 Tailscale serve 模式报错 disconnected (1006): no reason 的问题
最近在折腾 moltbot 的时候,遇到了一个挺让人头疼的问题——使用 Tailscale 的 serve 模式时,老是报这个错误:disconnected (1006): no reason。说实话,刚开始看到这个错误信息,我也是一脸懵逼,这 1006 是个啥?
折腾了一阵子,终于找到了原因和解决方案。其实问题出在 Tailscale serve 模式下,默认的代理配置不允许来自 Tailscale IP 的请求。那咱们怎么解决呢?
方案一:把 Tailscale IP 加入信任代理列表
这个方法比较直接,就是在配置文件里把 Tailscale 的 IP 地址(通常是 100.100.43.64)加到 trustedProxies 里:
{
"gateway": {
"tailscale": { "mode": "serve" },
"trustedProxies": ["127.0.0.1", "100.100.43.64"],
"auth": { "mode": "password", "password": "your-password" }
}
}这样配置后,moltbot 就会信任来自 Tailscale 的请求了。
方案二:直接绑定到 Tailscale IP(更简单)
如果你觉得上面的方法有点麻烦,那这个方法绝对适合你——直接用 bind: "tailnet" 来绑定到你的 Tailscale IP 地址,而不是环回地址:
{
"gateway": {
"bind": "tailnet",
"tailscale": { "mode": "serve" },
"auth": { "mode": "password", "password": "your-password" }
}
}这个方案更简洁,一行配置就搞定。我个人更推荐这个,毕竟代码越少越好维护嘛!
记得修改完配置后,一定要重启 moltbot gateway:
clawdbot gateway restart重启后,问题应该就解决了。如果还有其他问题,欢迎在评论区交流,咱们一起探讨!