Webtop behind swag: "UI.rfb is undefined"

Not sure if this is a swag issue or a webtop one.
I have set up a webtop container and can access it from local network with address :3000 just fine. But when I try to access it through swag with url subdomain.mydomain.com, I get an error message in my browser saying

KasmVNC encountered an error:
TypeError: UI.rfb is undefined
https://subdomain.mydomain.com/vnc/dist/main.bundle.js:22919:54
424/connect/UI._sessionTimeoutInterval<@https://mydomain.domain.com/vnc/dist/main.bundle.js:22919:54

The relevant lines in my docker-compose.yml are here
My webtop.subdomain.conf is here
Docker logs webtop is here
Nginx error.log is here

1 Like

Hi,

I have the same problem, I installed Remmina:

  • Docker on Synology
  • Deploy from portainer
  • Reverse proxy from synology with an address: subdomain.domain.com
version: "3.9"
services:
  remmina:
    container_name: Remmina
    image: ghcr.io/linuxserver/remmina
    mem_limit: 4g
    cpu_shares: 768
    security_opt:
      - no-new-privileges:false
    restart: on-failure:5
    ports:
      - 3144:3000
    volumes:
      - /volume1/docker/remmina:/config:rw
    environment:
     CUSTOM_USER: XXXXX
     PASSWORD: XXXXXX
     TZ: Europe/Zurich
     PUID: 1026
     PGID: 100

remmina error

However it doesn’t only work remotely, it works locally.

I do not understand why.

my goal is to be able to administer my servers remotely easily.

THANKS
Greetings
Ferywir

@RampantPanda Are you using a reverse proxy?

For my part, I use the reverse proxy of my Synology NAS, and I wonder if it doesn’t come from that! but why ? …

Thanks

I had the same problem with NGINX and resolved that by enabling websocket in NGINX host file. For reference:

server {
    listen            80;
    listen       [::]:80;
    server_name REDACTED;
    return 301 https://REDACTED$request_uri;
}

    upstream websocket {
        server 127.0.0.1:3000;
    }

      map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
    }

server {

    listen 443 ssl http2; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/REDACTED/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/REDACTED/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    server_name  REDACTED;
    location / {
        proxy_pass http://websocket;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header Host $host;	
	proxy_buffering off;
    }
}

1 Like

Hello @thee233 ,

Thank you so much ! I actually solved the problem by activating the websockets of my reverse proxy (Synology).

and it works perfectly!

Here is an image and explanation for a synology:

  1. Open Control Panel > Application Portal
  2. Change to the Reverse Proxy tab
  3. Select the proxy rule for which you want to enable Websockets and click on Edit
  4. Change to the Custom Headers tab
  5. Add two entries in the list:
    a. Name: “Upgrade”, Value: “$http_upgrade”
    b. Name: “Connection”, Value: “$connection_upgrade”

Thanks again,

Good day