1

У меня есть проблема с моим приложением с кабелем действий на Heroku:Config Действие Кабель для Heroku - локальный Ошибка: 3000/кабель

связи WebSocket к «WS: // локальный: 3000/кабель» не удалось: Ошибка подключения создание: чистая :: ERR_CONNECTION_REFUSED

Мой 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, например: alert ('test') или console.log ("haha"), несмотря на некоторые js код работает, и я попробовал активы: прекомпиляция.

В локальном хосте все работает отлично. Любая идея, что может быть неправильным с героикой и настройкой?

ответ

0

Хотя ActionCable находится в разработке, я помню, что вам приходилось запускать 2 сервера для подключения кабеля и для Rails. Я не думаю, что это все еще необходимо для финальной версии.

Я предполагаю, что у вас нет Redis, предоставленного на вашем экземпляре Heroku, тогда как в Production ActionCable полагается на Redis для его связи с сервером.

Чтобы исправить это, вы должны сделать следующее:

heroku addons:add redistogo

heroku config | grep REDISTOGO_URL

В вашем config/cable.yml установите URL Redis приведенному. Я думаю, вы также должны использовать ENV['REDISTOGO_URL'] вместо URL.

Дайте мне знать, если это поможет.

+0

Я настроил сервер redis, и это не должно быть проблемой, но спасибо в любом случае. Я думаю, что это собирается рассказать герою, как подключиться к правильному серверу в websocket. – Dudis

-1

Если он работает локально, но не удаленно, это может быть проблема SSL. Убедитесь, что вы правильно настроить SSL конечной точки для безопасного WebSocket (WSS): https://devcenter.heroku.com/articles/ssl-endpoint

Кроме того, есть отличный блог на Heroku о том, как настроить Действие кабель: https://blog.heroku.com/real_time_rails_implementing_websockets_in_rails_5_with_action_cable. Увы, в статье не упоминается о необходимости создания конечной точки SSL для развертывания Heroku.

 Смежные вопросы

  • Нет связанных вопросов^_^