N8N Form Redirect to Localhost

Hi, I test form with N8N with multi next form page and ending page. when user is in the first form submission no problème but when clic to submit and send to next form page it’s redirect to localhost:5678 :frowning:

My Workflow

Information on your n8n setup

  • n8n version: 1.92.2
  • Database (default: SQLite): Postgre:13-alpine
  • n8n EXECUTIONS_PROCESS setting (default: own, main): Queue Mode
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker Swarm
  • Operating system: N/A

This is my compose/Stack:

version: "3.8"

networks:
  traefik-n8n:
    external: true # Réseau partagé pour Traefik et les services exposés.
  n8n-internal:
    driver: overlay # Réseau interne pour la communication entre les services n8n.

    
services:
  # Service principal (Interface utilisateur et API)
  n8n-main:
    image: n8nio/n8n:latest
    command: start
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=xxxxxxxxxxxxx
      - N8N_ENCRYPTION_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      - EXECUTIONS_MODE=queue
      - QUEUE_BULL_REDIS_HOST=redis
      - QUEUE_BULL_REDIS_PORT=6379
      - N8N_RUNNERS_ENABLED=true
      - N8N_HOST=n8n.xxxxxxxxxxxxx.fr
      - WEBHOOK_URL=https://webhook.xxxxxxxxxxxxx.fr/
      - GENERIC_TIMEZONE=Europe/Paris
      - N8N_EDITOR_BASE_URL=https://n8n.xxxxxxxxxxxxx.fr
      - N8N_PROTOCOL=https
      - N8N_EMAIL_MODE=smtp
      - N8N_SMTP_HOST=10.150.150.230
      - N8N_SMTP_PORT=25
      - N8N_SMTP_SSL=false
      - N8N_SMTP_STARTTLS=false
      - [email protected]
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=true
      - QUEUE_BULL_REDIS_PASSWORD=n8n92



    volumes:
      - /mnt/n8n/data:/home/node/.n8n # Volume persistant partagé via ClusterFS.
    networks:
      - traefik-n8n # Pour exposer le service à Traefik.
      - n8n-internal # Pour communication interne avec Redis et PostgreSQL.
    deploy:
      replicas: 1 # Une seule instance pour éviter les conflits sur l'interface utilisateur.
      placement:
        constraints:
          - node.role == worker
      labels:
        - "traefik.enable=true"
        - "traefik.docker.network=traefik-n8n"
        
        - "traefik.http.routers.n8n-main.rule=Host(`n8n.xxxxxxxxxxxxx.fr`)"
        - "traefik.http.routers.n8n-main.entrypoints=http"
        - "traefik.http.routers.n8n-main.service=n8n-main"
        - "traefik.http.services.n8n-main.loadbalancer.server.port=5678"
        
        - "traefik.http.routers.n8n-main-traefik.rule=Host(`n8n.traefik.xxxxxxxxxxxxx.fr`)"
        - "traefik.http.routers.n8n-main-traefik.entrypoints=http"
        - "traefik.http.routers.n8n-main-traefik.service=n8n-main-traefik"
        - "traefik.http.services.n8n-main-traefik.loadbalancer.server.port=5678"

  # Service Webhook (gestion des webhooks)
  n8n-webhook:
    image: n8nio/n8n:latest
    command: webhook
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=xxxxxxxxxxxxx
      - N8N_ENCRYPTION_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      - N8N_RUNNERS_ENABLED=true
      - EXECUTIONS_MODE=queue
      - QUEUE_BULL_REDIS_HOST=redis
      - QUEUE_BULL_REDIS_PORT=6379
      - WEBHOOK_URL=https://webhook.xxxxxxxxxxxxx.fr/
      - N8N_PROTOCOL=https
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - QUEUE_BULL_REDIS_PASSWORD=n8n92


    networks:
      - traefik-n8n # Pour exposer le service à Traefik.
      - n8n-internal # Pour communication interne avec Redis et PostgreSQL.
    deploy:
      replicas: 4 # Plusieurs réplicas pour gérer les webhooks entrants de manière scalable.
      placement:
        constraints:
          - node.role == worker
      labels:
        - "traefik.enable=true"
        - "traefik.docker.network=traefik-n8n"
        
        - "traefik.http.routers.n8n-webhook.rule=Host(`webhook.xxxxxxxxxxxxx.fr`)"
        - "traefik.http.routers.n8n-webhook.entrypoints=http"
        - "traefik.http.routers.n8n-webhook.service=n8n-webhook"
        - "traefik.http.services.n8n-webhook.loadbalancer.server.port=5678"
        
        - "traefik.http.routers.n8n-webhook-traefik.rule=Host(`webhook.traefik.xxxxxxxxxxxxx.fr`)"
        - "traefik.http.routers.n8n-webhook-traefik.entrypoints=http"
        - "traefik.http.routers.n8n-webhook-traefik.service=n8n-webhook"
        - "traefik.http.services.n8n-webhook-traefik.loadbalancer.server.port=5678"

  # Service Worker (exécution des workflows)

  n8n-worker:
    image: n8nio/n8n:latest
    command: worker --concurrency=10
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=xxxxxxxxxxxxx
      - N8N_ENCRYPTION_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      - N8N_RUNNERS_ENABLED=true
      - EXECUTIONS_MODE=queue
      - QUEUE_BULL_REDIS_HOST=redis
      - QUEUE_BULL_REDIS_PORT=6379
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - QUEUE_BULL_REDIS_PASSWORD=n8n92

    networks:
      - n8n-internal # Communication interne uniquement.
    deploy:
      replicas: 4 # Ajustez selon la charge de travail.
      placement:
        constraints:
          - node.role == worker
        

  # Service Redis (gestion des files d'attente)
  redis:
    image: redis:latest
    volumes:
      - /mnt/n8n/redis/data:/data # Volume pour persistance Redis (si nécessaire).
    hostname: redis
    environment:
      - REDIS_PASSWORD=n8n92
    command: redis-server --requirepass n8n92
    networks:
      - n8n-internal # Communication interne uniquement.
    deploy:
      replicas: 1 # Une seule instance suffit généralement.
      placement:
        constraints:
          - node.role == worker

  redis-commander:
    container_name: redis-commander
    hostname: redis-commander
    image: rediscommander/redis-commander:latest
    restart: always
    environment:
      - REDIS_HOSTS=local:redis:6379:0:n8n92
    volumes:
      - /mnt/n8n/redis-commander/config:/redis-commander/config
    networks:
      - traefik-n8n
      - n8n-internal # Communication interne uniquement.
    deploy:
      replicas: 1 # Une seule instance suffit généralement.
      placement:
        constraints:
          - node.role == worker
      labels:
        - "traefik.enable=true"
        - "traefik.docker.network=traefik-n8n"
        
        - "traefik.http.routers.n8n-redis.rule=Host(`redis.traefik.xxxxxxxxxxxxx.fr`)"
        - "traefik.http.routers.n8n-redis.entrypoints=http"
        - "traefik.http.routers.n8n-redis.service=n8n-redis"
        - "traefik.http.services.n8n-redis.loadbalancer.server.port=8081"
  # Service PostgreSQL (base de données)
  postgres:
    image: postgres:13-alpine
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: xxxxxxxxxxxxx
      POSTGRES_DB: n8n
    volumes:
      - /mnt/n8n/db:/var/lib/postgresql/data # Volume persistant partagé via ClusterFS.
    networks:
      - n8n-internal # Communication interne uniquement.
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.role == worker



Thank's for your help 🙏

This is quite odd, you could try a wait node, and get the url to display in next step via the variable?

hope this helps