ActionCable Rails 5 sur AWS: erreur lors de la négociation de WebSocket 404

Essayer de déployer une application de rails 5 super simple sur AWS en utilisant le haricot magique. Tout fonctionne bien sauf actioncable. Le navigateur ne peut pas se connecter au serveur de câble.

La connexion WebSocket à ‘ws: //prod.3x52xijcqx.us-west-1.elasticbeanstalk.com/cable’ a échoué: erreur lors de la prise de contact avec WebSocket: code de réponse inattendu: 404

J’ai trouvé des questions similaires à stackoverflow, mais tous proposaient de configurer nginx à l’aide de ce modèle , mais cela ne m’a pas aidé.

J’ai personnalisé nginx config en utilisant ce script que j’ai mis dans .ebextensions

files: "/etc/nginx/conf.d/websockets.conf": content: | upstream backend { server unix:///var/run/puma/my_app.sock; } server_names_hash_bucket_size 128; server { listen 80; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; server_name prod.3x52xijcqx.us-west-1.elasticbeanstalk.com; # prevents 502 bad gateway error large_client_header_buffers 8 32k; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; # prevents 502 bad gateway error proxy_buffers 8 32k; proxy_buffer_size 64k; proxy_pass http://backend; proxy_redirect off; location /assets { root /var/app/current/public; } # enables WS support location /cable { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } } container_commands: 01_restart_nginx: command: "service nginx restart" 

La source complète de l’application est ici