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?