Hi,
after upgrading to 5142-3 i have the same issue as described on #854
In the Firefox console i see the error:
Firefox kann keine Verbindung zu dem Server unter wss://meet-test.menzns.de/xmpp-websocket?room=imminentbarrelspicturebriskly aufbauen. strophe.umd.js:5463:30
2020-12-09T15:48:50.843Z [JitsiMeetJS.js] <getGlobalOnErrorHandler>: UnhandledError: null Script: null Line: null Column: null StackTrace: Error: Strophe: Websocket error [object Event]
log strophe.util.js:89
error strophe.umd.js:1392
_onError strophe.umd.js:5730
_connect strophe.umd.js:5465
connect strophe.umd.js:2368
_interceptConnectArgs strophe.stream-management.js:224
connect XmppConnection.js:231
_connect xmpp.js:390
connect xmpp.js:462
connect JitsiConnection.js:61
e connection.js:47
d connection.js:178
d connection.js:103
p connection.js:208
G conference.js:186
createInitialLocalTracksAndConnect conference.js:634
init conference.js:778
p actions.web.js:31
promise callback*p/< actions.web.js:30
r Redux
<anonymous> middleware.js:29
<anonymous> middleware.js:32
<anonymous> middleware.js:31
<anonymous> middleware.web.js:33
<anonymous> middleware.any.js:22
<anonymous> middleware.js:67
<anonymous> middleware.js:43
<anonymous> middleware.js:61
<anonymous> middleware.js:79
<anonymous> middleware.js:71
<anonymous> middleware.js:77
<anonymous> middleware.js:39
<anonymous> middleware.js:106
<anonymous> middleware.js:38
<anonymous> middleware.js:33
<anonymous> middleware.web.js:24
<anonymous> middleware.any.js:93
<anonymous> middleware.js:77
<anonymous> middleware.web.js:21
<anonymous> middleware.js:44
<anonymous> middleware.js:25
<anonymous> middleware.js:16
<anonymous> middleware.js:21
<anonymous> middleware.js:23
<anonymous> middleware.js:21
<anonymous> middleware.js:111
<anonymous> middleware.js:16
<anonymous> middleware.js:35
Logger.js:154:22
2020-12-09T15:48:50.844Z [modules/xmpp/strophe.util.js] <t.a/r.Strophe.log>: Strophe: Websocket error [object Event]
I've started with a fresh config folder. But this also does not solve the problem.
Thanks a lot.
Regards
Manuel
Do you have a proxy in front of the Docker setup? Can yo use the Network tab in the browser's dev tools to check what the WS failure is?
Yes there is a Nginx proxy in front of the Jitsi setup. In the Network Tab i see 403 for the wss connection:
GET /xmpp-websocket?room=successfuldivorceslectureelse HTTP/1.1
Host: meet-test.menzns.de
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:83.0) Gecko/20100101 Firefox/83.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: https://meet-test.menzns.de
Sec-WebSocket-Protocol: xmpp
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: cpj0c7jZQw7+NTPtlYqsXw==
Connection: keep-alive, Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
HTTP/1.1 403 Forbidden
Server: nginx/1.19.5
Date: Wed, 09 Dec 2020 16:01:07 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Content-Encoding: gzip
Same here since version stable-5142-1. When using Version stable-5142 it works. Docker setup with Apache reverse proxy in front.
Installed with this guideline: https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker
EDIT: This Apache-Config solved my problem: https://github.com/jitsi/docker-jitsi-meet/issues/854#issuecomment-740681178
Yes there is a Nginx proxy in front of the Jitsi setup. In the Network Tab i see 403 for the wss connection:
GET /xmpp-websocket?room=successfuldivorceslectureelse HTTP/1.1 Host: meet-test.menzns.de User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:83.0) Gecko/20100101 Firefox/83.0 Accept: */* Accept-Language: de,en-US;q=0.7,en;q=0.3 Accept-Encoding: gzip, deflate, br Sec-WebSocket-Version: 13 Origin: https://meet-test.menzns.de Sec-WebSocket-Protocol: xmpp Sec-WebSocket-Extensions: permessage-deflate Sec-WebSocket-Key: cpj0c7jZQw7+NTPtlYqsXw== Connection: keep-alive, Upgrade Pragma: no-cache Cache-Control: no-cache Upgrade: websocket HTTP/1.1 403 Forbidden Server: nginx/1.19.5 Date: Wed, 09 Dec 2020 16:01:07 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive Vary: Accept-Encoding Content-Encoding: gzip
You need to proxy the WS connection to the /xmpp-websocket location.
Not to butt in here but I came across this as I was upgrading aswell, we have nginx-ingress kubernetes and one of the ENV params I needed to add was the PUBLIC_URL, I looked in console logs and it was trying to connect wss to localhost, setting that ENV in the container resolved that for me. We use terraform to deploy but concept applies to docker-compose env file aswell.
PUBLIC_URL = "https://${var.meet_domain}"
I have also the same issue :( I am using docker-compose but in front of this setup I have AWS ALB not nginx or apache. Anyone know what must be modified? Is it even possible?
You can also set XMPP_WEBSOCKET to 0 to continue using regular HTTP.
I have also the same issue :( I am using docker-compose but in front of this setup I have AWS ALB not nginx or apache. Anyone know what must be modified? Is it even possible?
I was doing some reading, we are on google platform but it says alb from aws support websocket it's likely just a setting in the lb somewhere to enable it.
Not to butt in here but I came across this as I was upgrading aswell, we have nginx-ingress kubernetes and one of the ENV params I needed to add was the PUBLIC_URL, I looked in console logs and it was trying to connect wss to localhost, setting that ENV in the container resolved that for me. We use terraform to deploy but concept applies to docker-compose env file aswell.
PUBLIC_URL = "https://${var.meet_domain}"
For me the problem was that I only set this on the web container and not on the prosody container. Setting this on the prosdy container solves the issue for me.
Well, the PUBLIC_URL also solved the problem for me. I don't have to do any modifications in my nginx reverse proxy configuration. I have to set two things.
First in the .env File add or uncomment the PUBLIC_URL variable.
Second in the docker-compose.yml file add the env Variable to the prosody container:
prosody:
image: jitsi/prosody:latest
.....
environment:
- AUTH_TYPE
....
- PUBLIC_URL
After restarting the Containers everything is working with the latest Version from the repo.
Thanks to all for helping.
Regards
Manuel
Is anyone using WSL2 and Docker for Desktop to run jitsi-docker for testing?
I'm continuously getting websocket error 403 even with the latest images. If I remove below part from jvb.conf then everything works fine.
public {
host = 0.0.0.0
port = 9090
}
Please let me know if someone else encountered similar issue and able to fix it.
Using master branch and AUTH_TYPE=jwt
Jitsi is not working for me either. I basically run a vanilla Jitsi setup with the provided docker-compose.yml and have a reverse proxy pointing to my web container. Apparently I need to forward the xmpp-websocket requests to my prosody container, but that only results in the following error when I look at the prosody logs:
<stream:error> is: <stream:error><not-authorized xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text xmlns='urn:ietf:params:xml:ns:xmpp-streams'>Given token does not match calculated token</text></stream:error>
I keep getting websocket handshake errors with error code 403.
I'm at a loss what to do. I admit I'm a bit frustrated all of a sudden nothing works anymore and the documentation is out-of-date.
Have you tried disabling WebSocket for XMPP as mentioned above?
That finally worked. Thanks. Though it is a workaround and not a fix.
@mcrapts if you have an Apache Webserver as Proxy in front you can use the Apache Config in this comment and reenable Websockets for XMPP again: https://github.com/jitsi/docker-jitsi-meet/issues/854#issuecomment-740681178
Don鈥檛 forget to enable the Apache module proxy_wstunnel (e.g. for Ubuntu: $ sudo a2enmod proxy_wstunnel
Hi,
We are facing some issue to open a meeting with the 5142-3.
No error anywhere (console front or docker back), we just are alone on the meeting!
Disabled auth, lobby and many other things but still not working..
Nginx Reverse Proxy behind.. so maybe the same problem.
Can you give a tip on how to make sure that is this problem ?
Thanks,
@mcrapts if you have an Apache Webserver as Proxy in front you can use the Apache Config in this comment and reenable Websockets for XMPP again: #854 (comment)
Don鈥檛 forget to enable the Apache module proxy_wstunnel (e.g. for Ubuntu: $ sudo a2enmod proxy_wstunnel
I am using Caddy and not Apache unfortunately. It would be helpful if there were specific requirements for a reverse proxy in the documentation. Then I can understand what needs to be achieved instead of simply copy-pasting configurations.
Hi,
We are facing some issue to open a meeting with the 5142-3.
No error anywhere (console front or docker back), we just are alone on the meeting!
Disabled auth, lobby and many other things but still not working..
Nginx Reverse Proxy behind.. so maybe the same problem.
Can you give a tip on how to make sure that is this problem ?
Thanks,
I added ENABLE_XMPP_WEBSOCKET=0 to my .env file.
We put ENABLE_XMPP_WEBSOCKET=0 and PUBLIC=https://ourdomain.com but still don't work..
What output do you see in the browser console?
Seems that my config.js is not good now.. I put the config.js generated and "it's alive!" :)
Hi,
I managed to get the xmpp websocket working with Nginx but I had to set XMPP_CROSS_DOMAIN=true.
Also, I edited my nginx conf and add :

But it seems like XMPP_CROSS_DOMAIN is depreciated :/
Edit: jitsi version --> stable-5142-3
But it seems like XMPP_CROSS_DOMAIN is depreciated :/
Not really, we just added it recently!
Oh ! So, that might be a solution ?
Hi, are the containers updated?
Thank you very much
Angelo
You can also set XMPP_WEBSOCKET to 0 to continue using regular HTTP.
Note: The environment variable is called ENABLE_XMPP_WEBSOCKET, not XMPP_WEBSOCKET.
If you're here before of an error in the browser logs about xmpp websocket and if you have an nginx proxy, saghul is right about allow websocket connections. After making sure PUBLIC_URL is set correctly, and with the following config (standard nginx websocket config), 5142 stable releases are working for me again
location /xmpp-websocket {
proxy_pass http://<ip>:8000; # or 8443 if it's secure connection
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
In case someone is using Caddy like me, you can fix it by using the following configuration:
your.domain.name {
reverse_proxy web:80
reverse_proxy /xmpp-websocket prosody:5280
}
web and prosody refer to the service names in the docker-compose.yml.
Well, the PUBLIC_URL also solved the problem for me. I don't have to do any modifications in my nginx reverse proxy configuration. I have to set two things.
First in the .env File add or uncomment the PUBLIC_URL variable.
Second in the docker-compose.yml file add the env Variable to the prosody container:prosody: image: jitsi/prosody:latest ..... environment: - AUTH_TYPE .... - PUBLIC_URLAfter restarting the Containers everything is working with the latest Version from the repo.
Thanks to all for helping.
Regards
Manuel
Can someone explain why this works? I was having a similar issue although my setup was different (using traefik as my proxy).
Before implementing the solution described above, I could not connect to a meeting at all and got stuck in a "disconnected, will retry in XX seconds" loop. Inspecting the console showed a 403 error for the websocket handshake on every retry.
Added the - PUBLIC_URL variable to the prosody container and now everything seems to work. Any insight as to why this solved the issue?
I am still experiencing this problem with stable-5142-4 behind a nginx reverse proxy. I evene deleted all the configs from ~/.jitsi-meet-cfg and started from scratch. The only work-around that makes jitsi meet functional again is to use ENABLE_XMPP_WEBSOCKET=0
your.domain.name { reverse_proxy web:80 reverse_proxy /xmpp-websocket prosody:5280 }
Thanks for this. This is exactly what I needed to get my Traefik v2 configuration working. I understood from the above that I needed to map /xmpp-websocket but it wasn't completely clear until it clicked with your post.
Most helpful comment
Well, the PUBLIC_URL also solved the problem for me. I don't have to do any modifications in my nginx reverse proxy configuration. I have to set two things.
First in the .env File add or uncomment the PUBLIC_URL variable.
Second in the docker-compose.yml file add the env Variable to the prosody container:
After restarting the Containers everything is working with the latest Version from the repo.
Thanks to all for helping.
Regards
Manuel