Docker-jitsi-meet: After upgrade to stable-5142-2 not able to open meeting

Created on 6 Dec 2020  路  12Comments  路  Source: jitsi/docker-jitsi-meet

Hi,

after upgrading to stable-5142-2 i can not create a new meeting. After starting the meeting i got an error that the network connection was disconnected.

In the browser logs i see this error:

Firefox kann keine Verbindung zu dem Server unter wss://localhost:8443/xmpp-websocket?room=compellingnotebookswatersuccessfully aufbauen. strophe.umd.js:5463:30
020-12-06T07:33:28.375Z [JitsiMeetJS.js] <getGlobalOnErrorHandler>:  UnhandledError: null Script: null Line: null Column: null StackTrace:  Error: Strophe: Websocket error [object Event]

I have an nginx reverse proxy deployed. The config for the xmpp location is this:

location /xmpp-websocket {
    proxy_pass              http://jitsi_prosody:5280/xmpp-websocket;
    proxy_http_version      1.1;
    proxy_set_header        Upgrade $http_upgrade;
    proxy_set_header        Connection "upgrade";
    #proxy_set_header        Host $host;
    tcp_nodelay             on;
}

I've created my own docker network and my own names in this network for the frontend and the prosody. This is why the name is not default.

Does any one know what i have to do in the nginx config to get it up and running.

EDIT1:

I've deployed it with 5142 web version and it is working. It is not working when i deply with 5142-2 web version:

jitsi/jvb                        latest              2aee468f92f2        39 hours ago        279MB
jitsi/jicofo                     latest              a4aaf27f57fd        39 hours ago        276MB
jitsi/prosody                    latest              cc3b4779f63c        39 hours ago        118MB
jitsi/web                        stable-5142         4d1876107fae        7 weeks ago         487MB

Thanks a lot

Regards
Manuel

Most helpful comment

It is working for me now. In case anyone out there uses Apache, the problem seems to be with the redirect to wss://. I do the encryption on Apache (DISABLE_HTTPS=1 in .env) so the redirect should be to ws:// instead.

To summarize: Apache frontend, jitsi stable-5142-2 running in a Docker instance, DISABLE_HTTPS=1, and here the relevant part from Apache config file:

        SSLProxyEngine on
        Include options-ssl-apache.conf

        ProxyPreserveHost On
        RequestHeader set X-Forwarded-Proto "https"

        ProxyPass        / http://127.0.0.1:8000/
        ProxyPassReverse / http://127.0.0.1:8000/

        RewriteEngine on
        RewriteCond %{HTTP:Connection} Upgrade [NC]
        RewriteCond %{HTTP:Upgrade} websocket [NC]
        RewriteRule ^/?(.*) "ws://127.0.0.1:8000/$1" [P,L]

Hope it helps anyone.

All 12 comments

I also encountered problems after upgrading from stable-5142 to stable-5142-1. In my case I had to replace my former .env file with the new example template of release stable-5142-1 as some XMPP related default values where changed. After customizing the new env file and adding this xmpp-websocket section to my nginx config it now works:

location /xmpp-websocket {
        proxy_pass http://127.0.0.1:180/xmpp-websocket;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        tcp_nodelay on;
   }

(nginx redirects incoming websocket requests not to prosody as in your case but to the internal jitsi docker nginx:)

PORTS                                              NAMES
0.0.0.0:4443->4443/tcp, 0.0.0.0:10000->10000/udp   jitsi-docker_jvb_1
127.0.0.1:180->80/tcp, 127.0.0.1:1443->443/tcp     jitsi-docker_web_1     <-----
                                                   jitsi-docker_jicofo_1
5222/tcp, 5280/tcp, 5347/tcp                       jitsi-docker_prosody_1

Maybe this helps you to solve the problem.

I've replaced the .env file with the latest one from the repo and redirected the xmpp-websocket to the correct container. But i see the same issue.

@menzbua Did you delete and recreate the jitsi configuration folder (and its subfolders) before restarting the containers?

@DerTomm thanks for preemptively sharing the NGINX config. Works like a charm for me

I'm using Apache as a proxy and wasn't able to get it to work with:

    RewriteEngine on
    RewriteCond %{HTTP:Upgrade} websocket [NC]
    RewriteCond %{HTTP:Connection} upgrade [NC]
    RewriteRule ^/?(.*) "wss://127.0.0.1:8000/$1" [P,L]


    ProxyPass        / http://127.0.0.1:8000/
    ProxyPassReverse / http://127.0.0.1:8000/

I couldn't spend more time on it as my colleagues wanted to use the service so I disabled the xmpp web socket with:

ENABLE_XMPP_WEBSOCKET=0

at the end of the .env file (also deleting ~/.jitsi-meet-cfg and allowing to regenerate). So far it seems to work again.

Someone cares to share a working snippet for Apache?

Edit: a few errors spotted. Now I get "Invalid Status Line". Still not working with websocket eenabled.

Same error, using now jitsi/web:stable-5076 to get it working again

No, i did not delete the config folder. I have some Users configured they would be also deleted when i'm deleting the config directory, correct?

Thanks
Regards
Manuel

It is working for me now. In case anyone out there uses Apache, the problem seems to be with the redirect to wss://. I do the encryption on Apache (DISABLE_HTTPS=1 in .env) so the redirect should be to ws:// instead.

To summarize: Apache frontend, jitsi stable-5142-2 running in a Docker instance, DISABLE_HTTPS=1, and here the relevant part from Apache config file:

        SSLProxyEngine on
        Include options-ssl-apache.conf

        ProxyPreserveHost On
        RequestHeader set X-Forwarded-Proto "https"

        ProxyPass        / http://127.0.0.1:8000/
        ProxyPassReverse / http://127.0.0.1:8000/

        RewriteEngine on
        RewriteCond %{HTTP:Connection} Upgrade [NC]
        RewriteCond %{HTTP:Upgrade} websocket [NC]
        RewriteRule ^/?(.*) "ws://127.0.0.1:8000/$1" [P,L]

Hope it helps anyone.

For Apache please note proxy_wstunnel module has to be enebled.

-3 is now out which regenerates the prosody config file, this was one of the main problems when upgrading. Please test -3 and open a new issue of something is still not working. Changes are still necessary if a reverse proxy is used in front of this setup. https://github.com/jitsi/docker-jitsi-meet/blob/master/CHANGELOG.md#stable-5142-3

@saghul Can you please elaborate on what changes need to be made for those running the Docker Compose Jitsi stack behind a reverse proxy?

I am using nginx based on the linuxserver/swag container. This is my /xmpp-websocket block, which has been working untouched in my config for 6+ months:

location /xmpp-websocket {
        include                 /config/nginx/proxy.conf;
        set                     $upstream_xmpp jitsi_xmpp;
        proxy_pass              http://$upstream_xmpp:5280/xmpp-websocket;
        proxy_set_header        Upgrade $http_upgrade;
        proxy_set_header        Connection "upgrade";
        proxy_set_header        Host $host;
        tcp_nodelay             on;
    }

where /config/nginx/proxy.conf is based on https://github.com/linuxserver/docker-swag/blob/master/root/defaults/proxy.conf

According to DerTomm's solution above, and guessing based on the changelog, it appears that the /xmpp_websockets path was rerouted to the jitsi/web container. Is that correct?
Implementing that reroute, even after reconfiguring my .env using the most recent env.example, does not solve the problem on my setup.

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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mfts picture mfts  路  6Comments

0187773933 picture 0187773933  路  7Comments

ccoenen picture ccoenen  路  5Comments

ErrorInPersona picture ErrorInPersona  路  3Comments

phlegx picture phlegx  路  10Comments