Jetty Server activated by Jitsi-Meet hampers Nginx functioning

I now focused and realized the problem I’ve been experiencing in my Ubuntu 18.04.4.

At the PC’s startup Jitsi seems working:

(base) marco@pc:~$ ps xa | grep jitsi
 1168 ?        Sl     0:04 java -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError  
-XX:HeapDumpPath=/tmp -Djdk.tls.ephemeralDHKeySize=2048 -Dconfig.file=/etc/jitsi/jicofo
/jicofo.conf -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi 
-Dnet.java.sip.communicator.SC_HOME_DIR_NAME=jicofo  
-Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi 
-Djava.util.logging.config.file=/etc/jitsi/jicofo/logging.properties -cp /usr/share/jicofo/jicofo.jar:
/usr/share/jicofo/lib/agafua-syslog-0.4.jar:/usr/share/jicofo/lib/annotations-15.0.jar:/usr/share/jicofo
/lib/aopalliance-repackaged-2.6.1.jar:/usr/share/jicofo/lib/cglib-nodep-2.2.jar:/usr/share/jicofo
/lib/checker-qual-2.11.1.jar:/usr/share/jicofo/lib/commons-codec-1.9.jar:/usr/share/jicofo/lib/commons-
lang3-3.9.jar:/usr/share/jicofo/lib/commons-logging-1.2.jar:/usr/share/jicofo/lib/config-1.4.1.jar:
/usr/share/jicofo/lib/error_prone_annotations-2.3.4.jar:/usr/share/jicofo/lib/failureaccess-1.0.1.jar:
/usr/share/jicofo/lib/guava-29.0-jre.jar:/usr/share/jicofo/lib/hk2-api-2.6.1.jar:/usr/share/jicofo/lib/hk2-
locator-2.6.1.jar:/usr/share/jicofo/lib/hk2-utils-2.6.1.jar:/usr/share/jicofo/lib/httpclient-4.4.1.jar:
/usr/share/jicofo/lib/httpcore-4.4.1.jar:/usr/share/jicofo/lib/j2objc-annotations-1.3.jar:/usr/share/jicofo
/lib/jackson-annotations-2.10.1.jar:/usr/share/jicofo/lib/jackson-core-2.10.0.jar:/usr/share/jicofo
/lib/jackson-databind-2.10.1.jar:/usr/share/jicofo/lib/jackson-module-jaxb-annotations-2.10.1.jar:
/usr/share/jicofo/lib/jakarta.activation-api-1.2.1.jar:/usr/share/jicofo/lib/jakarta.annotation-api-1.3.5.jar:
/usr/share/jicofo/lib/jakarta.inject-2.6.1.jar:/usr/share/jicofo/lib/jakarta.validation-api-2.0.2.jar:
/usr/share/jicofo/lib/jakarta.ws.rs-api-2.1.6.jar:/usr/share/jicofo/lib/jakarta.xml.bind-api-2.3.2.jar:
/usr/share/jicofo/lib/javassist-3.22.0-CR2.jar:/usr/share/jicofo/lib/javax.servlet-api-3.1.0.jar:/usr/share
/jicofo/lib/jcl-core-2.8.jar:/usr/share/jicofo/lib/jersey-client-2.32.jar:/usr/share/jicofo/lib/jersey-common-
2.32.jar:/usr/share/jicofo/lib/jersey-container-jetty-http-2.32.jar:/usr/share/jicofo/lib/jersey-container-
servlet-2.32.jar:/usr/share/jicofo/lib/jersey-container-servlet-core-2.32.jar:/usr/share/jicofo/lib/jersey-
entity-filtering-2.32.jar:/usr/share/jicofo/lib/jersey-hk2-2.32.jar:/usr/share/jicofo/lib/jersey-media-
jaxb-2.32.jar:/usr/share/jicofo/lib/jersey-media-json-jackson-2.32.jar:/usr/share/jicofo/lib/jersey-server-
2.32.jar:/usr/share/jicofo/lib/jetty-client-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-continuation-
9.4.28.v20200408.jar:/usr/share/jicofo/lib/jetty-http-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-
io-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-proxy-9.4.35.v20201120.jar:/usr/share/jicofo
/lib/jetty-security-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-server-9.4.35.v20201120.jar:
/usr/share/jicofo/lib/jetty-servlet-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-servlets-
9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-util-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-util-
ajax-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jicoco-1.1-79-g6099be5.jar:/usr/share/jicofo/lib/jicoco-
config-1.1-79-g6099be5.jar:/usr/share/jicofo/lib/jitsi-android-osgi-1.0-SNAPSHOT.jar:/usr/share/jicofo
/lib/jitsi-metaconfig-c3d8c51747.jar:/usr/share/jicofo/lib/jitsi-utils-1.0-82-gcab10f0.jar:/usr/share/jicofo
/lib/jitsi-xmpp-extensions-1.0-21-g3651d97.jar:/usr/share/jicofo/lib/jna-5.5.0.jar:/usr/share/jicofo
/lib/json-simple-1.1.1.jar:/usr/share/jicofo/lib/jsr305-3.0.2.jar:/usr/share/jicofo/lib/jxmpp-core-0.6.2.jar:
/usr/share/jicofo/lib/jxmpp-jid-0.6.2.jar:/usr/share/jicofo/lib/jxmpp-util-cache-0.6.2.jar:/usr/share/jicofo
/lib/kotlin-osgi-bundle-1.3.72.jar:/usr/share/jicofo/lib/kotlin-reflect-1.3.72.jar:/usr/share/jicofo/lib/kotlin-
stdlib-1.3.72.jar:/usr/share/jicofo/lib/kotlin-stdlib-common-1.3.71.jar:/usr/share/jicofo/lib/kotlin-stdlib-
jdk7-1.3.72.jar:/usr/share/jicofo/lib/kotlin-stdlib-jdk8-1.3.72.jar:/usr/share/jicofo/lib/listenablefuture-
9999.0-empty-to-avoid-conflict-with-guava.jar:/usr/share/jicofo/lib/object-cloner-0.1.jar:/usr/share
/jicofo/lib/objenesis-2.6.jar:/usr/share/jicofo/lib/org.osgi.core-4.3.1.jar:/usr/share/jicofo/lib/osgi-
resource-locator-1.0.3.jar:/usr/share/jicofo/lib/sentry-1.7.30.jar:/usr/share/jicofo/lib/slf4j-api-1.7.26.jar:
/usr/share/jicofo/lib/slf4j-jdk14-1.7.26.jar:/usr/share/jicofo/lib/smack-core-4.2.4-47d17fc.jar:/usr/share
/jicofo/lib/smack-extensions-4.2.4-47d17fc.jar:/usr/share/jicofo/lib/smack-im-4.2.4-47d17fc.jar:
/usr/share/jicofo/lib/smack-java7-4.2.4-47d17fc.jar:/usr/share/jicofo/lib/smack-resolver-javax-
4.2.4-47d17fc.jar:/usr/share/jicofo/lib/smack-sasl-javax-4.2.4-47d17fc.jar:/usr/share/jicofo/lib/smack-
tcp-4.2.4-47d17fc.jar:/usr/share/jicofo/lib/spotbugs-annotations-4.2.0.jar:/usr/share/jicofo
/lib/xpp3-1.1.4c.jar org.jitsi.jicofo.Main --host=localhost --domain=grasp.deals --user_name=focus 
   --user_domain=auth.grasp.deals
     2045 ?        Ssl    0:05 java -Xmx3072m -XX:+UseConcMarkSweepGC    
    -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp    
    -Djdk.tls.ephemeralDHKeySize=2048 -Dconfig.file=/etc/jitsi/videobridge/jvb.conf     
    -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi  
    -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=videobridge         
    -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi     
    -Djava.util.logging.config.file=/etc/jitsi/videobridge/logging.properties -cp /usr/share/jitsi-
videobridge
    /jitsi-videobridge.jar:/usr/share/jitsi-videobridge/lib/* org.jitsi.videobridge.MainKt --apis=,
     3949 pts/0    S+     0:00 grep --color=auto jitsi

I start my “germinal” webapp:

yarn serve
yarn run v1.22.5
$ vue-cli-service serve
 INFO  Starting development server...
Starting type checking service...
Using 1 worker with 2048MB memory limit
40% building 127/131 modules 4 active ...es/html-entities/lib/html4-entities.jsBrowserslist: caniuse-lite 
is outdated. Please run:
npx browserslist@latest --update-db
98% after emitting CopyPlugin

 DONE  Compiled successfully in 1314ms                                8:57:54 AM

Type checking in progress...

  App running at:
  - Local:   http://localhost:8081/ 
  - Network: http://192.168.1.7:8081/

But in https://grasp.deals/ I get :

If I kill all running Jitsi processes:

(base) marco@pc:~$ sudo kill 1168 
(base) marco@pc:~$ sudo kill 2045

When re-starting the web app, I get it right:

And, if I restart jicofo and jitsi-videobridge2, the webapp doesn’t work anymore:

(base) marco@pc:~$ sudo systemctl restart prosody
(base) marco@pc:~$ sudo systemctl restart jicofo
(base) marco@pc:~$ sudo systemctl restart jitsi-videobridge2
(base) marco@pc:~$ sudo systemctl restart nginx

(base) marco@pc:~$ ps xa | grep jitsi
10800 ?        Sl     0:03 java -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=/tmp -Djdk.tls.ephemeralDHKeySize=2048 -Dconfig.file=/etc/jitsi/jicofo 
/jicofo.conf -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi 
-Dnet.java.sip.communicator.SC_HOME_DIR_NAME=jicofo   
-Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi 
-Djava.util.logging.config.file=/etc/jitsi/jicofo/logging.properties -cp /usr/share/jicofo/jicofo.jar:
/usr/share/jicofo/lib/agafua-syslog-0.4.jar:/usr/share/jicofo/lib/annotations-15.0.jar:/usr/share/jicofo
/lib/aopalliance-repackaged-2.6.1.jar:/usr/share/jicofo/lib/cglib-nodep-2.2.jar:/usr/share/jicofo
/lib/checker-qual-2.11.1.jar:/usr/share/jicofo/lib/commons-codec-1.9.jar:/usr/share/jicofo/lib/commons-
lang3-3.9.jar:/usr/share/jicofo/lib/commons-logging-1.2.jar:/usr/share/jicofo/lib/config-1.4.1.jar:
/usr/share/jicofo/lib/error_prone_annotations-2.3.4.jar:/usr/share/jicofo/lib/failureaccess-1.0.1.jar:
/usr/share/jicofo/lib/guava-29.0-jre.jar:/usr/share/jicofo/lib/hk2-api-2.6.1.jar:/usr/share/jicofo/lib/hk2-
locator-2.6.1.jar:/usr/share/jicofo/lib/hk2-utils-2.6.1.jar:/usr/share/jicofo/lib/httpclient-4.4.1.jar:
/usr/share/jicofo/lib/httpcore-4.4.1.jar:/usr/share/jicofo/lib/j2objc-annotations-1.3.jar:/usr/share/jicofo
/lib/jackson-annotations-2.10.1.jar:/usr/share/jicofo/lib/jackson-core-2.10.0.jar:/usr/share/jicofo
/lib/jackson-databind-2.10.1.jar:/usr/share/jicofo/lib/jackson-module-jaxb-annotations-2.10.1.jar:   
/usr/share/jicofo/lib/jakarta.activation-api-1.2.1.jar:/usr/share/jicofo/lib/jakarta.annotation-api-1.3.5.jar:
/usr/share/jicofo/lib/jakarta.inject-2.6.1.jar:/usr/share/jicofo/lib/jakarta.validation-api-2.0.2.jar:
/usr/share/jicofo/lib/jakarta.ws.rs-api-2.1.6.jar:/usr/share/jicofo/lib/jakarta.xml.bind-api-2.3.2.jar:
/usr/share/jicofo/lib/javassist-3.22.0-CR2.jar:/usr/share/jicofo/lib/javax.servlet-api-3.1.0.jar:/usr/share
/jicofo/lib/jcl-core-2.8.jar:/usr/share/jicofo/lib/jersey-client-2.32.jar:/usr/share/jicofo/lib/jersey-common-
2.32.jar:/usr/share/jicofo/lib/jersey-container-jetty-http-2.32.jar:/usr/share/jicofo/lib/jersey-container-
servlet-2.32.jar:/usr/share/jicofo/lib/jersey-container-servlet-core-2.32.jar:/usr/share/jicofo/lib/jersey-
entity-filtering-2.32.jar:/usr/share/jicofo/lib/jersey-hk2-2.32.jar:/usr/share/jicofo/lib/jersey-media-
jaxb-2.32.jar:/usr/share/jicofo/lib/jersey-media-json-jackson-2.32.jar:/usr/share/jicofo/lib/jersey-server-
2.32.jar:/usr/share/jicofo/lib/jetty-client-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-continuation-
9.4.28.v20200408.jar:/usr/share/jicofo/lib/jetty-http-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-
io-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-proxy-9.4.35.v20201120.jar:/usr/share/jicofo
/lib/jetty-security-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-server-9.4.35.v20201120.jar:
/usr/share/jicofo/lib/jetty-servlet-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-servlets-
9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-util-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jetty-util-
ajax-9.4.35.v20201120.jar:/usr/share/jicofo/lib/jicoco-1.1-79-g6099be5.jar:/usr/share/jicofo/lib/jicoco-
config-1.1-79-g6099be5.jar:/usr/share/jicofo/lib/jitsi-android-osgi-1.0-SNAPSHOT.jar:/usr/share/jicofo
/lib/jitsi-metaconfig-c3d8c51747.jar:/usr/share/jicofo/lib/jitsi-utils-1.0-82-gcab10f0.jar:/usr/share/jicofo
/lib/jitsi-xmpp-extensions-1.0-21-g3651d97.jar:/usr/share/jicofo/lib/jna-5.5.0.jar:/usr/share/jicofo
/lib/json-simple-1.1.1.jar:/usr/share/jicofo/lib/jsr305-3.0.2.jar:/usr/share/jicofo/lib/jxmpp-core-0.6.2.jar:
/usr/share/jicofo/lib/jxmpp-jid-0.6.2.jar:/usr/share/jicofo/lib/jxmpp-util-cache-0.6.2.jar:/usr/share/jicofo
/lib/kotlin-osgi-bundle-1.3.72.jar:/usr/share/jicofo/lib/kotlin-reflect-1.3.72.jar:/usr/share/jicofo/lib/kotlin-
stdlib-1.3.72.jar:/usr/share/jicofo/lib/kotlin-stdlib-common-1.3.71.jar:/usr/share/jicofo/lib/kotlin-stdlib-
jdk7-1.3.72.jar:/usr/share/jicofo/lib/kotlin-stdlib-jdk8-1.3.72.jar:/usr/share/jicofo/lib/listenablefuture-
9999.0-empty-to-avoid-conflict-with-guava.jar:/usr/share/jicofo/lib/object-cloner-0.1.jar:/usr/share
/jicofo/lib/objenesis-2.6.jar:/usr/share/jicofo/lib/org.osgi.core-4.3.1.jar:/usr/share/jicofo/lib/osgi-
resource-locator-1.0.3.jar:/usr/share/jicofo/lib/sentry-1.7.30.jar:/usr/share/jicofo/lib/slf4j-api-1.7.26.jar:
/usr/share/jicofo/lib/slf4j-jdk14-1.7.26.jar:/usr/share/jicofo/lib/smack-core-4.2.4-47d17fc.jar:/usr/share
/jicofo/lib/smack-extensions-4.2.4-47d17fc.jar:/usr/share/jicofo/lib/smack-im-4.2.4-47d17fc.jar:
/usr/share/jicofo/lib/smack-java7-4.2.4-47d17fc.jar:/usr/share/jicofo/lib/smack-resolver-javax-
4.2.4-47d17fc.jar:/usr/share/jicofo/lib/smack-sasl-javax-4.2.4-47d17fc.jar:/usr/share/jicofo/lib/smack-
tcp-4.2.4-47d17fc.jar:/usr/share/jicofo/lib/spotbugs-annotations-4.2.0.jar:/usr/share/jicofo
/lib/xpp3-1.1.4c.jar org.jitsi.jicofo.Main --host=localhost --domain=grasp.deals --user_name=focus   
--user_domain=auth.grasp.deals
10911 ?        Ssl    0:04 java -Xmx3072m -XX:+UseConcMarkSweepGC     
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp 
-Djdk.tls.ephemeralDHKeySize=2048 -Dconfig.file=/etc/jitsi/videobridge/jvb.conf 
-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi 
-Dnet.java.sip.communicator.SC_HOME_DIR_NAME=videobridge 
-Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi 
-Djava.util.logging.config.file=/etc/jitsi/videobridge/logging.properties -cp /usr/share/jitsi-videobridge
/jitsi-videobridge.jar:/usr/share/jitsi-videobridge/lib/* org.jitsi.videobridge.MainKt --apis=,

This is what I have in /etc/hosts (FQDN settings):

127.0.0.1       grasp.deals
109.116.174.21  grasp.deals

Prosody seems working fine:

(base) marco@pc:~$ sudo systemctl status prosody
● prosody.service - Prosody XMPP Server
   Loaded: loaded (/lib/systemd/system/prosody.service; enabled; vendor preset: 
   Active: active (running) since Wed 2021-05-05 08:56:05 CEST; 18min ago
     Docs: https://prosody.im/doc
 Main PID: 2042 (lua5.2)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/prosody.service
           └─2042 lua5.2 /usr/bin/prosody -F

mag 05 08:56:05 pc systemd[1]: Started Prosody XMPP Server.

This is the content of /etc/prosody/prosody.cfg.lua :

admins = { ".....b32.i2p:5269" }
network_backend = "event"
use_libevent = true

network_backend = "epoll"
plugin_paths = {"/usr/local/lib/prosody-modules"} 
modules_enabled = {
        -- Generally required
                "roster"; -- Allow users to have a roster. Recommended ;)
                "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
                "tls"; -- Add support for secure TLS on c2s/s2s connections
                "dialback"; -- s2s dialback support
                "disco"; -- Service discovery

        -- Not essential, but recommended
                "carbons"; -- Keep multiple clients in sync
                "pep"; -- Enables users to publish their mood, activity, playing music and more
                "private"; -- Private XML storage (for room bookmarks, etc.)
                "blocklist"; -- Allow users to block communications with other users
                "vcard"; -- Allow users to set vCards

        -- Nice to have
                "version"; -- Replies to server version requests
                "uptime"; -- Report how long server has been running
                "time"; -- Let others know the time here on this server
                "ping"; -- Replies to XMPP pings with pongs
                "register"; -- Allow users to register on this server using a client and change passwords
                --"mam"; -- Store messages in an archive and allow users to access it

        -- Admin interfaces
                "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc com  
mands
                --"admin_telnet"; -- Opens telnet console interface on localhost port 5582

        -- HTTP modules
                "bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
                --consider_bosh_secure = true;
                --cross_domain_bosh = true;
                "websocket"; -- XMPP over WebSockets
                --"http_files"; -- Serve static files from a directory over HTTP

        -- Other specific functionality
                "posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
                "darknet"; -- https://github.com/majestrate/mod_darknet
                           -- https://i2pd.readthedocs.io/en/latest/tutorials/xmpp/
                "limits"; -- Enable bandwidth limiting for XMPP connections
                "groups"; -- Shared roster support
                "server_contact_info"; -- Publish contact information for this service
                "announce"; -- Send announcement to all online users
                "welcome"; -- Welcome users who register accounts
                "watchregistrations"; -- Alert admins of registrations
                "motd"; -- Send a message to users when they log in
                --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
                "proxy65"; -- Enables a file transfer proxy service which clients behind NAT can use

        -- jitsi
                "smacks";
                "carbons";
                "mam";
                "offline";
                "pubsub";
                "adhoc";
                "http_altconnect";
}
allow_registration = false
daemonize = true
pidfile = "/var/run/prosody/prosody.pid"
c2s_require_encryption = true
s2s_require_encryption = true
s2s_secure_auth = false
authentication = "internal_hashed"
archive_expires_after = "1w" 
log = {
        -- Log files (change 'info' to 'debug' for debug logs):
        info = "/var/log/prosody/prosody.log";
        error = "/var/log/prosody/prosody.err";
        -- Syslog:
        { levels = { "error" }; to = "syslog";  };
 }
certificates = "/var/lib/prosody/grasp.deals.crt"
key = "/var/lib/prosody/grasp.deals.key"
VirtualHost "grasp.deals"
Component "conference.grasp.deals" "muc"
    name = "The grasp.deals chatrooms server"

Component "focus.grasp.deals"
    component_secret="focus_secret"
Include "conf.d/*.cfg.lua"

This is the content of /etc/prosody/conf.avail/grasp.deals.cfg.lua:

VirtualHost "grasp.deals"
authentication = "internal_hashed"

This is the /etc/nginx/conf.d/default.conf :

server {
    listen 443 ssl http2 default_server;
    server_name grasp.deals;
    ssl_certificate /etc/letsencrypt/live/grasp.deals/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/grasp.deals/privkey.pem; # managed by Certbot
    ssl_trusted_certificate /etc/letsencrypt/live/grasp.deals/chain.pem;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    ssl_session_timeout 5m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-
 draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD
5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:50m;

    access_log /var/log/nginx/graspdeals-access.log combined;

    add_header Strict-Transport-Security "max-age=31536000";
    location = /favicon.ico { access_log off; log_not_found off; }

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

server {
    if ($host = grasp.deals) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80 default_server;
    listen [::]:80 default_server;
    error_page 497 https://$host:$server_port$request_uri;
    server_name grasp.deals;
    return 301 https://$server_name$request_uri;

    access_log /var/log/nginx/graspdeals-access.log combined;

    add_header Strict-Transport-Security "max-age=31536000";
    location = /favicon.ico { access_log off; log_not_found off; }

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

upstream websocket {
    ip_hash;
    server localhost:3000;
}

server {
    listen 81;
    server_name grasp.deals;

    location ~ ^/(websocket|websocket\/socket-io) {
        proxy_pass http://127.0.0.1:4201;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Forwared-For $remote_addr;
        proxy_set_header Host $host;

        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

upstream golang-webserver {
    ip_hash;
    server 127.0.0.1:2000;
}

server {
    listen 2999;
    server_name grasp.deals;

    location / {
        proxy_pass http://golang-webserver;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

I installed Jitsi-Meeting following these guidelines: Self-Hosting Guide - Debian/Ubuntu server · Jitsi Meet Handbook

How to solve the problem?