Ich bekomme WebSocket connection to 'ws://{hostname}/cable' failed: WebSocket is closed before the connection is established.
in meinem Chrom-Browser beim Verbinden mit meiner Rails 5 + ActionCable App. In meiner lokalen Entwicklungsumgebung passiert es nicht. Es passiert nur in meiner Staging- und Produktionsumgebung.Rails5 + ActionCable: WebSocket-Verbindung zu 'ws: // {Hostname}/Kabel' fehlgeschlagen: WebSocket wird geschlossen, bevor die Verbindung hergestellt wird
Successful screenshot on development
verwende ich Amazon ElasticBeanstalk meine Anwendung zu implementieren. Nach der Überwachung von Anfragen mit dem chrome-Entwickler-Tool habe ich herausgefunden, dass im Gegensatz zur Entwicklungsumgebung die WebSocket-Anfrage im Staging keine Antwort (ausstehend) erhält, so dass ActionCable ständig versucht, eine Verbindung zum WebSocket-Endpunkt herzustellen (ws: // {hostname}/Kabel).
Die Sache ist, in meinem puma.log, sagt es so etwas wie dieses:
I, [2016-07-26T13:45:53.921154 #32369] INFO -- : Registered connection (Z2lkOi8vYXNrLWNvLWRlL1VzZXIvMg)
I, [2016-07-26T13:46:05.775788 #32369] INFO -- : Finished "/cable/" [WebSocket] for 121.166.105.106 at 2016-07-26 13:46:05 +0000
I, [2016-07-26T13:46:18.074895 #32369] INFO -- : [917fd706-4f1a-4178-bd95-7a33c0c7b621] Started GET "/cable" for 121.166.105.106 at 2016-07-26 13:46:18 +0000
I, [2016-07-26T13:46:18.075764 #32369] INFO -- : [917fd706-4f1a-4178-bd95-7a33c0c7b621] Started GET "/cable/" [WebSocket] for 121.166.105.106 at 2016-07-26 13:46:18 +0000
I, [2016-07-26T13:46:18.075817 #32369] INFO -- : [917fd706-4f1a-4178-bd95-7a33c0c7b621] Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
das heißt, ein Upgrade auf WebSocket erfolgreich war, aber der Rest ist nicht bekannt. Hast du einen Hinweis darauf, das zu lösen?
Ich löste dieses Problem, indem ich den Lastenausgleich von Elastic Beanstalk entfernte, dh eine neue Umgebung ohne automatische Skalierung erstellte. Ich denke, es gab ein Problem in Bezug auf HTTP-Header beim Lastenausgleich. –
Ich habe das gleiche Problem –
könnten Sie erarbeiten? Bist du auf AWS? –