Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Heroku的配置操作电缆-错误localhost:3000/电缆_Javascript_Ruby On Rails_Heroku_Ruby On Rails 5_Actioncable - Fatal编程技术网

Javascript Heroku的配置操作电缆-错误localhost:3000/电缆

Javascript Heroku的配置操作电缆-错误localhost:3000/电缆,javascript,ruby-on-rails,heroku,ruby-on-rails-5,actioncable,Javascript,Ruby On Rails,Heroku,Ruby On Rails 5,Actioncable,我在Heroku上的Action Cable应用程序有问题: 到“ws://localhost:3000/cable”的WebSocket连接失败:连接建立中出错:net::ERR_connection_拒绝 My production.rb: config.action_cable.url = "wss://NAME.herokuapp.com/cable" config.action_cable.allowed_request_origins = ['https://NAME.

我在Heroku上的Action Cable应用程序有问题:

到“ws://localhost:3000/cable”的WebSocket连接失败:连接建立中出错:net::ERR_connection_拒绝

My production.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.loghaha,我也尝试了assets:precompile


在localhost中,一切都可以完美地工作。知道heroku和设置有什么问题吗?

在ActionCable开发期间,我记得您必须启动两台服务器进行电缆连接和Rails。我认为最终版本还不需要这样做

我的猜测是,Heroku实例上没有配置Redis,而在生产环境中,ActionCable依靠Redis进行服务器通信

要解决此问题,应执行以下操作:

heroku插件:添加redistogo

heroku配置| grep REDISTOGO|URL

在config/cable.yml中,将Redis url设置为给定的url。我想您也应该能够使用ENV['REDISTOGO_URL']来代替URL


让我知道这是否有帮助。

如果它在本地工作,而不是远程工作,则可能是SSL问题。确保为安全websocket wss正确设置SSL端点:


此外,Heroku上有一篇关于如何设置Action Cable的优秀博客文章:。遗憾的是,本文没有提到为Heroku部署设置SSL端点的必要性。

我设置了redis服务器,这不应该是问题所在,但无论如何还是要感谢您。我想这将告诉heroku如何连接到websocket中的正确服务器。