OK, we found that the issue was related to having a reverse proxy in front of Cloudron. This reverse proxy was not configured properly to forward web sockets.
For nginx, we need something like this:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
....
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
...
}
For apache, we need something like this:
RewriteEngine on
RewriteCond ${HTTP:Upgrade} websocket [NC]
RewriteCond ${HTTP:Connection} upgrade [NC]
RewriteRule .* "wss:/192.168.20.12/$1" [P,L]
For the moment, one can just use SSH to open a web terminal like this:
docker ps -f label=fqdn=app.domain.com
docker exec -ti <containerid_from_above> /bin/bash