Я пытаюсь развернуть приложение Rails 5.1.4 в AWS Elastic Beanstalk и не могу заставить ActionCable работать. Судя по журналам Rails, возникла проблема с обновлением HTTP-соединения до WebSocket:
I, [2017-11-29T20:53:23.533734 #6275] INFO -- : [014bad33-65a1-489e-9108-dc4157965491] Started GET "/cable" for 24.192.57.23 at 2017-11-29 20:53:23 +0000
I, [2017-11-29T20:53:23.534481 #6275] INFO -- : [014bad33-65a1-489e-9108-dc4157965491] Started GET "/cable/"[non-WebSocket] for 24.192.57.23 at 2017-11-29 20:53:23 +0000
E, [2017-11-29T20:53:23.534582 #6275] ERROR -- : [014bad33-65a1-489e-9108-dc4157965491] Failed to upgrade to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: close, HTTP_UPGRADE: )
I, [2017-11-29T20:53:23.534721 #6275] INFO -- : [014bad33-65a1-489e-9108-dc4157965491] Finished "/cable/"[non-WebSocket] for 24.192.57.23 at 2017-11-29 20:53:23 +0000
Конфигурация Elastic Beanstalk использует ALB (не ELB), который должен работать с WebSockets из коробки.
Я пытался использовать ELB с TCP вместо HTTP, настройка обратного прокси-сервера nginx и изменение настроек приложения безуспешно. Кажется, существует консенсус по поводу обратного прокси, но я не могу правильно понять заклинание.
Пожалуйста помоги!