为Heroku配置操作电缆-错误localhost:3000/Cable
Config Action Cable for Heroku - Error localhost:3000/cable
我的应用程序与Heroku:上的Action Cable有问题
到"ws://localhost:3000/cable"的WebSocket连接失败:建立连接时出错:net::ERR_connection_REFUSED
我的产品.rb:
config.action_cable.url = "wss://NAME.herokuapp.com/cable"
config.action_cable.allowed_request_origins = ['https://NAME.herokuapp.com', 'http://NAME.herokuapp.com']
我也尝试在cable.js中指定服务器:
@App ||= {}
App.cable = ActionCable.createConsumer("wss://NAME.herokuapp.com/cable")
我试着在development.rb中更改它,以防万一,但没有任何帮助。Heroku仍在尝试连接到本地主机。
我认为,另一个与之毫无共同点的奇怪之处是,尽管有一些js代码有效,但该应用程序无法处理一些js码,如:alert('test')或console.log("哈哈"),我也尝试了assets:precompile。
在localhost中,一切都很完美。你知道heroku和布景有什么问题吗?
ActionCable在开发过程中,我记得您必须启动2台用于电缆连接和Rails的服务器。我认为最终版本不需要这样做。
我的猜测是,您的Heroku实例上没有提供Redis,而在生产中,ActionCable的服务器通信依赖于Redis。
要解决此问题,您应该执行以下操作:
heroku addons:add redistogo
heroku config | grep REDISTOGO_URL
在config/cable.yml
中,将Redis url设置为给定的url。我想您也应该能够使用ENV['REDISTOGO_URL']
来代替url。
如果有帮助,请告诉我。
如果它在本地工作而不是远程工作,则可能是SSL问题。请确保为安全websocket(ws)正确设置SSL端点:https://devcenter.heroku.com/articles/ssl-endpoint
此外,Heroku上有一篇关于如何设置Action Cable的精彩博客文章:https://blog.heroku.com/real_time_rails_implementing_websockets_in_rails_5_with_action_cable.遗憾的是,这篇文章没有提到为Heroku部署设置SSL端点的必要性。
- PHP中的setcookie仅适用于localhost
- 在localhost Dev Box上测试JSONP请求的最佳方式
- AJAX简单错误.XMLHttpRequest无法加载http://localhost/mpl/getPage.php.
- @Url.Content(“~”)不适用于localhost
- 向localhost发出带有grunt的代理CORS请求
- 岗位http://localhost:3000/api/signup400(错误请求)
- XMLHttpRequest无法加载http://localhost:3000/get.
- 为什么我的JS为我的链接添加前缀(localhost:3000 / mylink)
- 正在为ReactAsync清除localhost:3000个URL
- 错误连接拒绝http://localhost:3000/socket.io/socket.io.js.
- XMLHttpRequest无法加载“;此URL“;起源http://localhost:3000访问控制允许来源不允许
- localhost:3000 dons'切换node.js应用程序时不会更改
- 有人能解释一下为什么(http://localhost:3000/#/home) #出现在url之间吗?
- 重定向localhost而不是myserver.org:3000/login/callback
- 流星应用程序崩溃localhost:3000
- Chrome: http://localhost:3000/ - ERR_CONNECTION_REFUSED
- 热模块更换已启用但不起作用http://localhost:3000/__webpack_hmr.
- 平均堆栈挂起在localhost:3000上
- 为Heroku配置操作电缆-错误localhost:3000/Cable
- GET http://localhost:3000/projects/assets/jquery.masonry.js