Webhook tunnel not working - no in real time items being passed between nodes

Hi! Pulling my hair out trying to solve this - not a clue what’s going on.

Describe the problem/error/question

N8N is live on custom domain via docker and nginx but webhooks and live data passing between modules (ie. the green x items as you run the workflows) are not working. I believe this is an issue with the webhook tunnel.

I have set my webhook tunnel url correctly with https://n8n.mydomain.com. SSL managed by letsencrypt

What is the error message (if any)?

N/A

Please share your workflow

N/A

Share the output returned by the last node

N/A

Information on your n8n setup

  • n8n version: latest
  • Database (default: SQLite): SQLite
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app): docker
  • Operating system: e2-medium instance via GCP

Docker Compose file is as follows:

  GNU nano 7.2                                                   docker-compose.yml                                                            
version: '3.3'

services:
  n8n:
    image: n8nio/n8n
    ports:
      - "5678:5678"
    volumes:
      - /home/jacob/n8n:/home/node/.n8n
    environment:
      - GENERIC_TIMEZONE=Europe/London
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=jacobb
      - N8N_BASIC_AUTH_PASSWORD=REDACTED
      - N8N_HOST=n8n.mydomain.com
      - N8N_PORT=5678
      - N8N_SECURE_COOKIE=false
      - WEBHOOK_URL=https://n8n.mydomain.com/
      - WEBHOOK_TUNNEL_URL=https://n8n.mydomain.com/
      - NODEJS_PREFER_IPV4=true
      - N8N_TRUST_PROXY=true

  nginx:
    image: nginx
    ports:
      - "80:80"
      - "443:443"

    volumes:
      - /etc/nginx/nginx.conf:/etc/nginx/nginx.conf
      - /etc/nginx/sites-enabled:/etc/nginx/sites-enabled
      - /etc/ssl/certs:/etc/ssl/certs
      - /etc/ssl/private:/etc/ssl/private
      - ./nginx:/etc/nginx/conf.d
      - ./letsencrypt:/etc/letsencrypt

networks:
  n8n_network:
    driver: bridge

  GNU nano 7.2                                                                                                                 
server {
    listen 80;
    server_name n8n.mydomain.com;

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name n8n.mydomain.com;

    ssl_certificate /etc/letsencrypt/live//n8n.mydomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/n8n.mydomain.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/n8n.mydomain.com/chain.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers REDACTED>

    location / {
        proxy_pass http://IP:5678;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}



Apologies if this is too much or too litte info - proper novice at this but keen to learn!! Thank you so much :)

Hey @JB27,

I would start by going through the docs and removing the env options that are no longer needed.

To actually fix the issue though you will need to update your nginx configuration to support websockets. I would recommend using Caddy or Traefik instead as they automatically support websockets.

Thanks so much Jon - really appreciate the help.

The env variables added at the end were an attempt to rectify the issue based off suggestions in the forum around bugs in latest version.

I have completely deleted Nginx and tried Traefik instead per the docker compose guide and it’s working perfectly!! Thank you so much - love the product and it’s brilliant to have it working again! :pray:

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.