NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.87k stars 13.93k forks source link

possible bug in jitsi-meet (missing countries-enGB.json file) #123903

Open Zhen-hao opened 3 years ago

Zhen-hao commented 3 years ago

Describe the bug Jitsi-meet fails when a second user joins a meeting. The client doesn't seem to be able to reach videobridge even though the ports are open. The error on the server side is:

2021/05/21 17:28:38 [error] 16287#16287: *15 open() "/nix/store/fjrfsh3cl9klg1ri3r768prkkyyjkf5a-jitsi-meet-1.0.4628/lang/countries-enGB.json" failed (2: No such file or directory), client: $client_public_ip, server: jitsi.mydomain.com, request: "GET /lang/countries-enGB.json HTTP/2.0", host: "jitsi.mydomain.com", referrer: "https://jitsi.mydomain.com/test"

To Reproduce with nixpkgs rev 03c43ea5446879f22c589ade234c51b02112dcc8

let
  hostName = "jitsi.mydomain.com";
in
{
  config = {
    services.jitsi-meet = {
        enable = true;
        hostName = "${hostName}";
    };
    services.jitsi-videobridge.openFirewall = true;

    security.acme = {
      acceptTerms = true;
      renewInterval = "weekly";
      certs."${hostName}" = {
        email = "me@gmail.com";
        postRun = "systemctl reload nginx.service";
      };
    };

    services.nginx = {
      enable = true;

      recommendedGzipSettings = true;
      recommendedOptimisation = true;
      recommendedProxySettings = true;
      recommendedTlsSettings = true;

      virtualHosts."${hostName}" = {
        forceSSL = true;
        enableACME = true;
      };

      commonHttpConfig = ''
        log_format myformat '$remote_addr - $remote_user [$time_local] '
                            '"$request" $status $body_bytes_sent '
                            '"$http_referer" "$http_user_agent"';

        types {
            application/javascript mjs;
            application/wasm wasm;
        }
      '';
    };
  };
}

Additional context I deployed the above config on an AWS VM.

Notify maintainers @mmilata @petabyteboy @ryantm

Metadata

warning: unknown setting 'experimental-features'
warning: unknown setting 'experimental-features'
 - system: `"x86_64-linux"`
 - host os: `Linux 5.9.16, NixOS, 20.09.2750.85abeab48b5 (Nightingale)`
 - multi-user?: `yes`
 - sandbox: `yes`
warning: unknown setting 'experimental-features'
 - version: `nix-env (Nix) 2.3.10`
warning: unknown setting 'experimental-features'
 - channels(root): `"nixos-20.09.2750.85abeab48b5, nixos-unstable-20.09pre242769.61525137fd1"`
warning: unknown setting 'experimental-features'
 - channels(zhenhao): `"home-manager, nixos-20.09pre242769.61525137fd1"`
warning: unknown setting 'experimental-features'
 - channels(rpinosio): `"nixos-unstable-19.09pre192418.e19054ab3cd"`
warning: unknown setting 'experimental-features'
 - channels(zhen): `"home-manager, nixpkgs-21.05pre290593.40f26dfd652"`
warning: unknown setting 'experimental-features'
 - nixpkgs: `/nix/store/gkrac2bi23lz92jfkypxv1hk3fkqlq3d-wrhzk6hxj561n3ksx44r8z0l4p3pf5nl-nixpkgs-src`

Maintainer information: N.A.

Zhen-hao commented 3 years ago

it seems the Nginx error is not consistent. Here are some other ones:

2021/05/22 11:36:48 [error] 16287#16287: *366 open() "/nix/store/fjrfsh3cl9klg1ri3r768prkkyyjkf5a-jitsi-meet-1.0.4628/static/base.html" failed (2: No such file or directory), client: $client_public_ip, server: jitsi.mydomain.com, request: "GET /static/offline.html HTTP/2.0", subrequest: "/static/base.html", host: "jitsi.mydomain.com", referrer: "https://jitsi.mydomain.com/pwa-worker.js"

2021/05/22 11:36:48 [error] 16287#16287: *366 open() "/nix/store/fjrfsh3cl9klg1ri3r768prkkyyjkf5a-jitsi-meet-1.0.4628/static/title.html" failed (2: No such file or directory), client: $client_public_ip, server: jitsi.mydomain.com, request: "GET /static/offline.html HTTP/2.0", subrequest: "/static/title.html", host: "jitsi.mydomain.com", referrer: "https://jitsi.mydomain.com/pwa-worker.js"

2021/05/22 11:36:48 [error] 16287#16287: *366 open() "/nix/store/fjrfsh3cl9klg1ri3r768prkkyyjkf5a-jitsi-meet-1.0.4628/static/head.html" failed (2: No such file or directory), client: $client_public_ip, server: jitsi.mydomain.com, request: "GET /static/offline.html HTTP/2.0", subrequest: "/static/head.html", host: "jitsi.mydomain.com", referrer: "https://jitsi.mydomain.com/pwa-worker.js"
ghost commented 3 years ago

I agree the videobridge isn't reachable but I don't think there necesarrily is a connection to the nginx log messages. I have definitely had the error state you described before after updates, and restarting prosody and 'ji'*' helped every time.

Zhen-hao commented 3 years ago

@petabyteboy sorry for the late response. You are right. the errors logs might be results of attacks, as my jitsi domain is public. However, restarting prosody doesn't resolve this issue. What's the best to find useful logs on the server side?