Socket.io poignée de main échoue sur le site, mais pas sur localhost
Socket.io poignée de main échoue sur mon site, mais pas sur localhost.
J'ai dû fournir une coutume poignée de main parce que socket.io n'a pas pu trouver mon paramètre de requête.
Voici ma déclaration en socket.service.js:
var ioSocket = io('https://my-site.rhcloud.com//?EIO=2&transport=polling&t=1414328625757-0&
token=' + Auth.getToken(), {
});
et comment je peux l'attraper sur le côté serveur :
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();
}
});
});
Ici est le message que je reçois:
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
Je suis vraiment perdu ici, et creusé beaucoup dans Google, sans succès.
Toute aide serait vraiment appréciée !
OriginalL'auteur Thook | 2014-11-18
Vous devez vous connecter pour publier un commentaire.
Après beaucoup de recherche, j'ai réalisé que le problème venait de La. Vous devez spécifier le port sockets allez utiliser. Voir cet article: https://blog.openshift.com/paas-websockets/
Alors, je viens d'écrire:
Je veux dire que je suis en utilisant NodeBB logiciel de forum, donc je ne suis pas vraiment déclarant que la prise n'importe où. Je tiens à le fixer sans aller trop dans la source.
Désolé pour le retard, n'avait pas vu votre commentaire. J'ai déclaré ce côté client, dans l'angle du service chargé de la prise de la déclaration de
OriginalL'auteur Thook
Proxy Nginx résout le problème avec la configuration suivante:
Solution originale ici. Il fonctionne très bien pour moi (Ubuntu 14.4 + Plesk 12.5).
OriginalL'auteur gdorbes
J'ai déployé mon node/express serveur Azure et j'ai eu l'suivantes erreur
websocket.js:100 connexion WebSocket pour 'ws://mywebsitename.azurewebsites.net/socket.io/?EIO=3&transport=websocket&sid=ssEHs-OWxI6mcChyAAAB " a échoué: Erreur lors de WebSocket poignée de main: réponse Inattendue code: 503
J'ai résolu mon problème en permettre WebSocket en bleu Azur de la console comme illustré ci-dessous
OriginalL'auteur user2662006