Ich arbeite gerade an einem Projekt mit den im Threadtitel genannten Technologien.Django restframework, Django Kanäle, Ionic 2 - Websocket Handshake Fehler
Ich habe alles aus dem Browser ausgeführt (die Anwendung ist auf Heroku gehostet), aber wenn ich versuche, eine Verbindung zu den WebSockets von meiner Ionic 2-Anwendung herzustellen, bekomme ich immer einen Fehler beim Einrichten von Handshake.
2016-09-17T15:02:03.200133+00:00 app[web.1]: 2016-09-17 15:02:03,199 DEBUG Connection http.response!uvRVDyvolYEG did not get successful WS handshake.
2016-09-17T15:02:03.200498+00:00 app[web.1]: 2016-09-17 15:02:03,200 DEBUG WebSocket closed before handshake established
2016-09-17T15:02:03.169206+00:00 heroku[router]: at=info method=GET path="/1/" host=musicmashup-jukebox.herokuapp.com request_id=c46960d7-bb8f-45bf-b8be-5a934c771d96 fwd="212.243.230.222" dyno=web.1 connect=0ms service=7ms status=400 bytes=74
Jetzt war eine Idee, dass es ein CORS-Problem sein könnte. Also habe ich django-cors-middleware
in der Hoffnung installiert, dass dies das Problem lösen könnte - naja, hat es nicht. Aber ich denke, die App fügt keine Header zum Daphne-Server überhaupt hinzu.
Im Moment habe ich keine Ahnung mehr, ob das Problem auf dem Client oder auf der Serverseite ist.
Hat jemand ähnliche Probleme erlebt?
EDIT: Fand heraus, dass WebSockets und CORS nichts mit einander Why is there no same-origin policy for WebSockets? Why can I connect to ws://localhost? So zu tun haben, meine Vermutung ist, dass der Server den Ursprung Header durch den Client gesendet ablehnen kann. Ich werde sehen, ob ich meine Hände auf die Header bekommen kann gesendet
einige weitere technische Details über Websockets und die Verwendung des Origin Header http://security.stackexchange.com/questions/115716/is-the-origin-header-really-useful-for-securing-a-websocket – platzhersh