Socket.io-Handshake schlägt auf der site, nicht aber auf localhost
Buchse.io-handshake schlägt fehl, auf meiner Website, aber nicht auf localhost.
Ich hatte um einen benutzerdefinierten handshake, weil der Buchse.io war nicht in der Lage zu finden, meine query-parameter.
Hier ist meine Erklärung socket.service.js:
var ioSocket = io('https://my-site.rhcloud.com//?EIO=2&transport=polling&t=1414328625757-0&
token=' + Auth.getToken(), {
});
und wie Fang ich es auf der server-Seite :
socketio.use(function(socket, next) {
request.get('https://my-site.rhcloud.com/api/users/chan', {qs:{access_token:socket.handshake.query.token}}, function(err, me) {
if (err||!me.body|| me.body=='Unauthorized') {
if (!me) console.log('!me');
if (err) console.log(err);
next(err);
}
else {
//perfoming operations
next();
}
});
});
Hier ist die Meldung bekomme ich:
WebSocket connection to 'wss://my-site.rhcloud.com/socket.io/?EIO=2&transport=websocket&t=…YwMX0.1F6ebfNxzoDPYffXGapGMzLFPJd-mfN0EexqZzXXo7A&sid=z0Jmrbgb7OS0nbqxAAAG' failed: Error during WebSocket handshake: Unexpected response code: 400
Ich bin wirklich hier verloren, und grub eine Menge in Google-ohne Erfolg.
Jede Hilfe wäre wirklich dankbar !
InformationsquelleAutor Thook | 2014-11-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach viel suchen, erkannte ich, das problem kam von Openshift. Haben Sie den port angeben, sockets zu verwenden. Finden Sie in diesem Artikel: https://blog.openshift.com/paas-websockets/
So, ich hatte gerade zu schreiben:
Ich meine, ich bin mit Foren-software NodeBB, so bin ich nicht wirklich erklären der Steckdose überall. Ich möchte es zu beheben, ohne die Notwendigkeit zu gehen zu viel in die Quelle.
Sorry für die Verspätung, hatte nicht sehen, Ihren Kommentar. Als ich erklärte, dass dies auf der client-Seite, in der Angular service verantwortlich für den socket-Erklärung
InformationsquelleAutor Thook
Nginx-proxy löst das Problem mit der folgenden config:
Ursprünglichen Lösung hier. Es funktioniert Super für mich (Ubuntu 14.4 + Plesk 12.5).
InformationsquelleAutor gdorbes
Verwendete ich meine node/express server in Azure, und ich bekam folgende Fehlermeldung
websocket.js:100 WebSocket-Verbindung zu 'ws://mywebsitename.azurewebsites.net/socket.io/?EIO=3&transport=websocket&sid=ssEHs-OWxI6mcChyAAAB' Fehler: Fehler bei der WebSocket-handshake: Unexpected response code: 503
Ich meine Feste Ausgabe aktivieren, um den WebSocket-in der Azure-Konsole, wie unten gezeigt
InformationsquelleAutor user2662006