WebSocket & UI Error with Reverse Proxy (Zoraxy) — "Connection lost", Workflows not loading

Describe the problem/error/question

The n8n web UI always shows a permanent “Connection lost” message.
Also, workflows cannot be listed or created – throwing the error:

Error fetching workflows
Cannot read properties of undefined (reading 'filter')

The editor itself loads, but WebSockets seem not to work.

What is the error message (if any)?

  • "Connection lost" in the top-right of the n8n UI
  • When opening the dashboard:
    "Error fetching workflows. Cannot read properties of undefined (reading 'filter')"

Please share your workflow

N/A – the error occurs before workflows are loaded or editable.

Share the output returned by the last node

N/A – UI cannot interact with workflows.


Information on your n8n setup

  • n8n version: 1.88.0
  • Database: PostgreSQL (external)
  • n8n EXECUTIONS_PROCESS setting: Default
  • Running n8n via: Docker
  • Operating system: Debian (root server)
  • Reverse Proxy: Zoraxy
  • SSL Certs: Own certificates (NOT Let’s Encrypt)
  • Firewall in use: Securepoint

Current .env of n8n

N8N_PROTOCOL=http
N8N_HOST=n8n.meine-domain.de
WEBHOOK_URL=https://n8n.meine-domain.de
N8N_PORT=5678
N8N_SKIP_WEBHOOK_DEREGISTRATION_SHUTDOWN=true
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=adminpass
DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=postgres
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=n8n
DB_POSTGRESDB_USER=n8n_user
DB_POSTGRESDB_PASSWORD=starkespw123
N8N_EXPRESS_TRUST_PROXY=true
NODE_ENV=production
GENERIC_TIMEZONE=Europe/Berlin
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
NODE_VERSION=20.19.0
YARN_VERSION=1.22.22
NODE_ICU_DATA=/usr/local/lib/node_modules/full-icu
N8N_VERSION=1.88.0
N8N_RELEASE_TYPE=stable
SHELL=/bin/sh

Proxy (Zoraxy) config

  • SSL enabled (with own certs) for n8n.meine-domain.de
  • Upstream: 172.18.0.2:5678 (works only without http://)
  • WebSocket upgrade headers (currently disabled because page breaks):
    • Upgrade: websocket
    • Connection: upgrade
    • X-Forwarded-Proto: https
    • Host: n8n.meine-domain.de

→ If these headers are set, the UI won’t load at all (404 or broken page)


Tested

  • wscat -c wss://n8n.meine-domain.de/rest/push → returns error: Unexpected server response: 200
  • If headers are removed and only upstream IP used, page loads, but Connection lost appears
  • In Docker:
    • wget http://localhost:5678/rest/push401 Unauthorized (as expected)
  • In browser dev tools: WebSocket wss://n8n.meine-domain.de/rest/push is attempted, but fails silently or with 401/200

:mag: Suspected Cause

  • WebSocket not forwarded correctly through Zoraxy
  • Possibly due to Upgrade/Connection headers missing or misrouted
  • Basic Auth could interfere with WebSocket handshake
  • Proxy config is otherwise functional for HTTPS + UI load

:question:Questions

  1. How should the Zoraxy proxy be configured for WebSocket /rest/push?
  2. Are the headers Upgrade, Connection, X-Forwarded-Proto required?
  3. Does Basic Auth block WebSocket upgrades?
  4. Why does wscat return 200 or 401 instead of completing handshake?
  5. What minimal working .env and reverse proxy settings are required?