WebSocket Erreur dans l'établissement de la connexion: net::ERR_CONNECTION_CLOSED
J'obtiens cette erreur quand je tente d'établir un wss
de connexion avec mon serveur:
Connexion WebSocket 'wss://mondomaine:3000/" a échoué: Erreur dans
l'établissement de la connexion: net::ERR_CONNECTION_CLOSED
J'ai actuellement un apache2 configuration du virtual host configuration pour écouter les requêtes sur le port 443 et 80:
<VirtualHost *:80>
ServerName otherdomainname.co.uk
ServerAlias www.otherdomainname.co.uk
RewriteEngine On
RewriteRule ^/(.*)$ /app/$1 [l,PT]
JkMount /* worker2
</VirtualHost>
<VirtualHost _default_:443>
ServerName otherdomainname.co.uk
ServerAlias www.otherdomainname.co.uk
RewriteEngine On
RewriteRule ^/(.*)$ /app/$1 [l,PT]
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
<Location />
SSLRequireSSL On
SSLVerifyClient optional
SSLVerifyDepth 1
SSLOptions +StdEnvVars +StrictRequire
</Location>
JkMount /* worker2
</VirtualHost>
Comme vous pouvez le voir il utilise le JkMount de transmettre la requête à Tomcat qui sert la page web correctement sur HTTP et HTTPS.
Lorsque je visite le site en utilisant le protocole HTTP sur le port 80 d'une connexion WebSocket peut être faite en utilisant le ws
protocole.
Lorsque je visite le site en utilisant le protocole HTTPS sur le port 443 le site est desservi correctement mais pas de connexion WebSocket est faite à l'aide de wss
.
Je suis l'aide de la "ws" node.js module pour mettre en place le serveur WebSocket:
var WebSocketServer = require('ws').Server
, wss = new WebSocketServer({ port: 3000 }),
fs = require('fs');
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
ws.send(message);
ws.send('something');
});
Pourquoi ne suis-je pas en mesure de succès de se connecter au serveur WebSocket à l'aide de la wss
protocole sur https
?
OriginalL'auteur crm | 2016-01-27
Vous devez vous connecter pour publier un commentaire.
Le problème était que je n'étais pas configurer le serveur WebSocket pour https/wss.
Ici est la version sécurisée de mon insécurité serveur WebSocket à l'aide de "ws" de l'node.js.
Vous devez configurer votre serveur web pour le chiffrement à clé publique, et de fournir la clé et le certificat de l'information. chrismepham.co.royaume-uni/blog/guide/...
OriginalL'auteur crm
J'ai eu un problème semblable, il s'avère que j'ai été en utilisant CloudFlare qui ne permet très spécifiques ports par.
Sorte de météore en cours d'exécution sur le port 3000 a été immédiatement bloquée.
La reconfiguration de mes Inverser les paramètres de Proxy et de l'exécution de Météore sur un permis de port résolu mon problème.
Mais, en fin de compte, j'ai désactivé les supports de mon Météore déployer. Il ne semble pas avoir affecté les performances. Bonne chance,
OriginalL'auteur Andy