与 ip 绑定后,Action Cable 不工作

Posted

技术标签:

【中文标题】与 ip 绑定后,Action Cable 不工作【英文标题】:Action Cable not working after binding with ip 【发布时间】:2016-12-07 17:52:19 【问题描述】:

我已经在我的系统中实现了 rails-5 的动作电缆,它在 localhost 上工作正常,但是当我尝试与 ip 绑定时,它给出了以下错误消息。

到“ws://192.168.1.46:3002/cable”的 WebSocket 连接失败:错误 在 WebSocket 握手期间:意外的响应代码:404

在终端日志中

升级到 WebSocket 失败(REQUEST_METHOD: GET, HTTP_CONNECTION: 升级,HTTP_UPGRADE: websocket)

我已经对我的development.rb 进行了更改

config.action_cable.url = "ws://192.168.1.46:3002/cable"

但没有成功。

请指导我哪里错了。

如果您需要更多信息,请告诉我,提前致谢。

【问题讨论】:

【参考方案1】:

以下行添加到config/environments/development.rb 文件

config.action_cable.allowed_request_origins = [/http:\/\/*/, /https:\/\/*/]

希望这会对你有所帮助。

【讨论】:

更好的是,只将您真正想要允许的域列入白名单。例如:config.action_cable.allowed_request_origins = [/http:\/\/www\.mydomain\.com/, /https:\/\/www\.mydomain\.com/]

以上是关于与 ip 绑定后,Action Cable 不工作的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails:如何通过 ngrok 访问 Action Cable?

rails 5 action cable 服务器部署

由 config.action_cable.url 定义的 URL 在被 Vue 前端使用时生成 404

Rails Action Cable:如何授权传入连接?

多个订阅的 Action Cable 通知

订阅 Action Cable 频道时如何设置参数