执行Rasa run -m models –enable-api –cors"*"–debug后无法连接WebChat求助
解决Rasa服务与WebChat无法连接的问题
下面是针对该问题的实用排查和解决步骤:
1. 确认服务正常启动
- 执行启动命令后,检查终端是否有报错,确保命令输入正确:
rasa run -m models --enable-api --cors "*" --debug - 终端需出现类似
Started http server on 0.0.0.0:5005的提示,说明服务已在默认5005端口正常监听。
2. 验证API本身可访问
- 本地测试时,打开浏览器访问
http://localhost:5005/health,若返回{"status":"ok"},说明服务本身无问题; - 若为远程服务器部署,将localhost替换为服务器公网IP,同时确认服务器5005端口未被防火墙/安全组拦截。
3. 检查WebChat配置
- 确保WebChat中填写的服务地址正确:本地测试用
http://localhost:5005,远程部署则替换为服务器IP或域名,且需指向正确的webhook路径/webhooks/rest/webhook; - 配置示例参考:
WebChat.init({ selector: "#webchat", initPayload: "/get_started", customData: {"language": "en"}, socketUrl: "http://localhost:5005", title: "Chatbot", subtitle: "Your assistant" })
4. 排查CORS配置
- 若
--cors "*"通配符在部分场景下失效,可尝试指定具体允许的域名,比如WebChat运行在http://localhost:3000,则改为--cors "http://localhost:3000"; - 若使用较旧版本的Rasa,需在
credentials.yml中手动配置CORS:
修改完成后重启Rasa服务。rest: cors_origins: ["*"]
5. 借助浏览器控制台定位问题
- 按F12打开浏览器开发者工具,切换到Network标签,查看WebChat发送请求的状态:
- 若返回404,说明请求路径错误,核对是否为
/webhooks/rest/webhook; - 若出现CORS错误,要么确认CORS配置生效,要么尝试将WebChat与Rasa部署在同一域名下(比如用nginx代理实现同域)。
- 若返回404,说明请求路径错误,核对是否为
6. 检查版本兼容性
- 确保WebChat与Rasa版本匹配,新版本Rasa的API接口可能存在变动,需使用适配的WebChat版本。
内容的提问来源于stack exchange,提问作者Nguyen Kim Anh
相关产品推荐
相关产品推荐

