peerjs-server
peerjs-server copied to clipboard
WebSocket connection to <URL> failed: WebSocket is closed before the connection is established.
WebSocket connection to <URL> failed: WebSocket is closed before the connection is established.
I'm trying to use peerjs server using a docker container proxied throught nginx with SSL, but I continue getting this error.
WebSocket connection to <URL> failed: WebSocket is closed before the connection is established.

How could I start debugging this?
- docker version:
Docker version 20.10.10, build b485636 - peerjs server version:
0.6.1(got this from docker container) - docker command:
node bin/peerjs --port 9000 --allow_discovery --proxied 1 --alive_timeout 5000 --path / - nginx version:
1.20.1 - chrome version:
Version 95.0.4638.69 (Official Build) (x86_64) - nginx configuration:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
server_name peerjs.mysite.cc;
location / {
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header Accept-Encoding "";
proxy_pass http://127.0.0.1:9000;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
}
# server valid for *.mysite.cc
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/mysite/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mysiteprivkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
client configuration:
peer = new Peer({
host: "peerjs.mysite.cc",
secure:true
})
I was checking my code and discover that the ws connection was closed due to an Error in my "discover" function whiile using the listAllPeers function
setInterval(function(){
peer.listAllPeers(discover)
}, 2000)
this error could be reproduced by throwing any Error inside the callback function
function discover(peers){
throw Error
}