WebSocket-Fehler bei Verbindungsaufbau: net::ERR_CONNECTION_CLOSED
Bin ich immer diese Fehlermeldung wenn ich Versuch, eine wss
Verbindung mit meinem server:
WebSocket-Verbindung zu " wss://meinedomain:3000/' fehlgeschlagen: Fehler in
Verbindungsaufbau: net::ERR_CONNECTION_CLOSED
Moment habe ich einen apache2-virtual-host-Konfiguration-setup zu hören für Anfragen auf port 443 und 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>
Wie Sie sehen können, verwendet es die JkMount übergeben die Anfrage an Tomcat dient die Webseite richtig auf HTTP und HTTPS.
Beim Besuch der Website über das HTTP-Protokoll auf port 80 eine WebSocket-Verbindung können über den ws
Protokoll.
Beim Besuch der Website über das HTTPS-Protokoll auf port 443 der Website ist ordnungsgemäß zugestellt, aber keine WebSocket-Verbindung über wss
.
Ich bin mit dem "ws" node.js Modul zur Bereitstellung der WebSocket-server:
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');
});
Warum bin ich nicht in der Lage, erfolgreich eine Verbindung zum WebSocket-server über die wss
Protokoll über https
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem war, dass ich nicht konfigurieren das WebSocket-server für https/wss.
Hier ist die sichere version von meinem unsichere WebSocket-server mit "ws" aus node.js.
Ich hatte ein ähnliches problem, stellt sich heraus, ich war mit CloudFlare, die erlaubt nur ganz bestimmte ports durch.
Also meteor läuft auf port 3000 wurde sofort blockiert.
Neukonfiguration meine Reverse-Proxy-Einstellungen und läuft Meteor auf einen erlaubten port mein problem gelöst.
Aber am Ende, ich schaltete sockets auf meinem Meteor bereitstellen. Es scheint nicht zu haben, beeinflusst die Leistung. Viel Glück,