jitsi / docker-jitsi-meet

Jitsi Meet on Docker
https://hub.docker.com/u/jitsi/
Apache License 2.0
3.04k stars 1.36k forks source link

Websockets not working #1430

Closed audouts closed 1 year ago

audouts commented 1 year ago

I have a recently-installed Jitsi deployment using Docker on Debian Linux.

Things are mostly working but I've noticed a problem with websockets:

2022-10-31T21:35:13.620Z [features/base/tracks] Replace video track - unmuted
BridgeChannel.js:84 WebSocket connection to 'wss://meet.private.com/colibri-ws/172.18.0.4/1fdd0747556a7cb/07a8bee7?pwd=4fhbuakg310tgmirj3g43t3t1t' failed: 
_initWebSocket @ BridgeChannel.js:84
t @ BridgeChannel.js:103
Logger.js:154 2022-10-31T21:35:14.301Z [modules/RTC/BridgeChannel.js] <e.onclose>:  Channel closed by server
Logger.js:154 2022-10-31T21:35:14.301Z [modules/RTC/BridgeChannel.js] <e.onclose>:  Channel closed: 1006 
r @ Logger.js:154
e.onclose @ BridgeChannel.js:433

I think it's affecting screen sharing.

How can I diagnose this issue? I believe all the necessary ports are being forwarded but perhaps something is missing.

saghul commented 1 year ago

What release did you install?

audouts commented 1 year ago

stable-7882

saghul commented 1 year ago

Do you see any error in the JVB logs?

MatthewPattell commented 1 year ago

Hello, I also ran into problems( So, I investigate it. In release stable-7648-4 we have proxy_pass BOSH: proxy_pass {{ $XMPP_BOSH_URL_BASE }}/http-bind;

In release stable-7830 have changed proxy_pass BOSH: proxy_pass {{ $XMPP_BOSH_URL_BASE }}/http-bind?prefix=$prefix&$args;

Docker have some issues with resove proxy_pass with any args ?prefix=$prefix&$args;

Some related topic from stackoverflow: №1 №2

saghul commented 1 year ago

Is you are using WebSockets you are not using BOSH.

The bug with prefix got fixed in: https://github.com/jitsi/docker-jitsi-meet/commit/bf6a68b17468d488bcdd7cee1ce4e6f534a5a296

What problem are you running into, exactly?

MatthewPattell commented 1 year ago

Is you are using WebSockets you are not using BOSH.

The bug with prefix got fixed in: bf6a68b

What problem are you running into, exactly?

Websockets or Bosch, it doesn't matter. None of this works, because nginx can't resolve proxy_pass domain with args. It's my problem.

saghul commented 1 year ago

Are you running our standard Docker compose setup or something else like k8s?

MatthewPattell commented 1 year ago

Are you running our standard Docker compose setup or something else like k8s?

I use standard docker images, but my deployment on AWS ECS. Since stable-7830 I have problem( This only happens on AWS, because xmpp.meet.jitsi resolve through /etc/hosts but nginx not use this file.

saghul commented 1 year ago

So not the standard conpose setup. You can specify the resolver with an env var, check the compose file.

MatthewPattell commented 1 year ago

So not the standard conpose setup. You can specify the resolver with an env var, check the compose file.

I don't know what I should to use in NGINX_RESOLVER for AWS ECS, because only /etc/hosts contains right domain rules. It looks like I'll have to extend the original image by installing dnsmasq

saghul commented 1 year ago

No, you should set NGINX_RESOLVER to the IP address that gets added to /etc/resolv.conf automatically. It should be predictable.

I plan on making this the default behavior, but in the meantime you can check the value in the web container, try setting it to that value and restarting the container.

MatthewPattell commented 1 year ago

Ok. Thank you for helping.