Private IP & Host Entry working, but public IP and DNS record are not

Howdy.

This feels like a fever dream to me. I've been working on a project wherein I got everything set up and tested by setting up host file entries. 192.168.75.220 foo.example.com etc. Then I had a public ip provisioned, a domain registered to point to that domain, and my F5 appliance directs all traffic that hits that domain to my server.

It's clear to me the traffic is hitting my server, but my traefik routes are ignoring it. I have no idea how to troubleshoot this. tracelogs have not been helpful, sadly.

volumes:
  db_storage:
  n8n_storage:
  redis_storage:
  pgadmin-data:

x-shared: &shared
  restart: always
  image: docker.n8n.io/n8nio/n8n
  environment:
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=postgres
    - DB_POSTGRESDB_PORT=5432
    - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
    - DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER}
    - DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
    - EXECUTIONS_MODE=queue
    - QUEUE_BULL_REDIS_HOST=redis
    - QUEUE_HEALTH_CHECK_ACTIVE=true
    - N8N_ENCRYPTION_KEY=${ENCRYPTION_KEY}
    # License
    #- N8N_LICENSE_TENANT_ID=1001
    - N8N_LICENSE_ACTIVATION_KEY=${LICENSE_ACTIVATION_KEY}
    # Traefik
    - N8N_PROXY_HOPS=2
    - N8N_HOST=foo.example.com
    - N8N_PORT=5678
    - WEBHOOK_URL=https://foo.example.com
    # Multi Main
    - N8N_MULTI_MAIN_SETUP_ENABLED=false
  links:
    - postgres
    - redis
  volumes:
    - n8n_storage:/home/node/.n8n
  depends_on:
    redis:
      condition: service_healthy
    postgres:
      condition: service_healthy

services:
  postgres:
    image: postgres:16
    restart: always
    environment:
      - POSTGRES_USER
      - POSTGRES_PASSWORD
      - POSTGRES_DB
      - POSTGRES_NON_ROOT_USER
      - POSTGRES_NON_ROOT_PASSWORD
    volumes:
      - db_storage:/var/lib/postgresql/data
      - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
      interval: 5s
      timeout: 5s
      retries: 10

  redis:
    image: redis:6-alpine
    restart: always
    volumes:
      - redis_storage:/data
    healthcheck:
      test: ['CMD', 'redis-cli', 'ping']
      interval: 5s
      timeout: 5s
      retries: 10

  traefik:
    image: "traefik"
    restart: always
    command:
      - "--api=true"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--providers.file.directory=/etc/traefik/"
      - "--providers.file.watch=true"
      - "--log.level=TRACE"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./traefik_dynamic.yaml:/etc/traefik/traefik_dynamic.yaml
      - ./certs:/certs

  n8n-main:
    <<: *shared
    labels:
      - traefik.enable=true
      - traefik.http.routers.n8n.rule=Host(`foo.example.com`)
      - traefik.http.routers.n8n.entrypoints=websecure
      - traefik.http.routers.n8n.tls=true
    #deploy:
    #  mode: replicated
    #  replicas: 1

  n8n-worker:
    <<: *shared
    command: worker
    deploy:
      mode: replicated
      replicas: 2

  n8n-webhook:
    <<: *shared
    command: webhook

Enable and check Traefik debug log (doc) and Traefik access log in JSON format (doc).

1 Like

Thanks for the advice-- this looks like a nice thing to have!

I turned both on, but it's not helping me too much. The access log looks like this--

tail -f access.log

x.x.x.x - - [18/Mar/2025:12:48:24 +0000] "GET /home/workflows HTTP/1.1" 404 19 "-" "-" 1 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:12:48:43 +0000] "GET /home/workflows HTTP/1.1" 404 19 "-" "-" 2 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:12:48:52 +0000] "GET / HTTP/2.0" 404 19 "-" "-" 3 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:12:48:53 +0000] "GET /favicon.ico HTTP/2.0" 404 19 "-" "-" 4 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:12:52:47 +0000] "GET /favicon.ico HTTP/2.0" 404 19 "-" "-" 5 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:12:56:56 +0000] "GET /rest/cta/become-creator HTTP/1.1" 404 19 "-" "-" 6 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:05:06 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 7 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:05:18 +0000] "GET /rest/cta/become-creator HTTP/1.1" 404 19 "-" "-" 8 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:06:03 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 9 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:06:03 +0000] "GET /favicon.ico HTTP/1.1" 404 19 "-" "-" 10 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:07:35 +0000] "GET /home/workflows HTTP/1.1" 404 19 "-" "-" 11 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:07:37 +0000] "GET /home/workflows HTTP/1.1" 404 19 "-" "-" 12 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:07:37 +0000] "GET /home/workflows HTTP/1.1" 404 19 "-" "-" 13 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:07:38 +0000] "GET /home/workflows HTTP/1.1" 404 19 "-" "-" 14 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:07:38 +0000] "GET /home/workflows HTTP/1.1" 404 19 "-" "-" 15 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:07:38 +0000] "GET /home/workflows HTTP/1.1" 404 19 "-" "-" 16 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:07:38 +0000] "GET /home/workflows HTTP/1.1" 404 19 "-" "-" 17 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:09:27 +0000] "GET /foo HTTP/1.1" 404 19 "-" "-" 18 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:09:33 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 19 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:10:02 +0000] "GET / HTTP/2.0" 404 19 "-" "-" 20 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:10:06 +0000] "GET / HTTP/2.0" 404 19 "-" "-" 21 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:10:06 +0000] "GET /favicon.ico HTTP/2.0" 404 19 "-" "-" 22 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:11:21 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 23 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:11:21 +0000] "GET /favicon.ico HTTP/1.1" 404 19 "-" "-" 24 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:11:29 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 25 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:11:56 +0000] "GET /rest/cta/become-creator HTTP/1.1" 404 19 "-" "-" 26 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:18:20 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 27 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:18:20 +0000] "GET /favicon.ico HTTP/1.1" 404 19 "-" "-" 28 "-" "-" 0ms
x.x.x.x - - [18/Mar/2025:13:18:23 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 29 "-" "-" 0ms

Debug traefik-logs

traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *docker.Provider provider configuration config={"defaultRule":"Host(`{{ normalize .Name }}`)","endpoint":"unix:///var/run/docker.sock","watch":true}
traefik-1      | 2025-03-18T12:47:52Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *acme.ChallengeTLSALPN
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *acme.ChallengeTLSALPN provider configuration config={}
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{},"tcp":{},"tls":{},"udp":{}} providerName=file
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{"middlewares":{"dashboard_redirect":{"redirectRegex":{"permanent":true,"regex":"^(http:\\/\\/(\\[[\\w:.]+\\]|[\\w\\._-]+)(:\\d+)?)\\/$","replacement":"${1}/dashboard/"}},"dashboard_stripprefix":{"stripPrefix":{"prefixes":["/dashboard/","/dashboard"]}}},"routers":{"api":{"entryPoints":["traefik"],"priority":9223372036854775806,"rule":"PathPrefix(`/api`)","ruleSyntax":"v3","service":"api@internal"},"dashboard":{"entryPoints":["traefik"],"middlewares":["dashboard_redirect@internal","dashboard_stripprefix@internal"],"priority":9223372036854775805,"rule":"PathPrefix(`/`)","ruleSyntax":"v3","service":"dashboard@internal"}},"serversTransports":{"default":{"maxIdleConnsPerHost":200}},"services":{"api":{},"dashboard":{},"noop":{}}},"tcp":{"serversTransports":{"default":{"dialKeepAlive":"15s","dialTimeout":"30s"}}},"tls":{},"udp":{}} providerName=internal
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:97 > No store is defined to add the certificate MIIFBTCCBKugAwIBAgIQDE/l2Hi7cpd5rvycDVwROzAKBggqhk, it will be added to the default store
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:132 > Adding certificate for domain(s) automate.ts.vcu.edu,n8n.automate.ts.vcu.edu,webhook.automate.ts.vcu.edu
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/pdocker.go:90 > Provider connection established with docker 28.0.1 (API 1.48) providerName=docker
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=redis-n8n-traefik-6b4635742a1c247cbb612ed52986f7562bf9cbe914c3f1553bfc11de738cf71f providerName=docker
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=postgres-n8n-traefik-2da4923006482e2728bc8503c4dbe39ed48e429fd79b3d715a6d5a448ffb34c3 providerName=docker
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=traefik-n8n-traefik-7679ddf260fc908cdbf7c29b0c89d31a517744e173c43a88112f231a0f6d9afd providerName=docker
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{},"tcp":{},"tls":{},"udp":{}} providerName=docker
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:321 > No default certificate, fallback to the internal generated certificate tlsStoreName=default
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/middlewares/stripprefix/strip_prefix.go:32 > Creating middleware entryPointName=traefik middlewareName=dashboard_stripprefix@internal middlewareType=StripPrefix routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observability/middleware.go:33 > Adding tracing to middleware entryPointName=traefik middlewareName=dashboard_stripprefix@internal routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_regex.go:17 > Creating middleware entryPointName=traefik middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_regex.go:18 > Setting up redirection from ^(http:\/\/(\[[\w:.]+\]|[\w\._-]+)(:\d+)?)\/$ to ${1}/dashboard/ entryPointName=traefik middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observability/middleware.go:33 > Adding tracing to middleware entryPointName=traefik middlewareName=dashboard_redirect@internal routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:25 > Creating middleware entryPointName=traefik middlewareName=traefik-internal-recovery middlewareType=Recovery
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:97 > No store is defined to add the certificate MIIFBTCCBKugAwIBAgIQDE/l2Hi7cpd5rvycDVwROzAKBggqhk, it will be added to the default store
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:132 > Adding certificate for domain(s) automate.ts.vcu.edu,n8n.automate.ts.vcu.edu,webhook.automate.ts.vcu.edu
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:321 > No default certificate, fallback to the internal generated certificate tlsStoreName=default
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/middlewares/stripprefix/strip_prefix.go:32 > Creating middleware entryPointName=traefik middlewareName=dashboard_stripprefix@internal middlewareType=StripPrefix routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observability/middleware.go:33 > Adding tracing to middleware entryPointName=traefik middlewareName=dashboard_stripprefix@internal routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_regex.go:17 > Creating middleware entryPointName=traefik middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_regex.go:18 > Setting up redirection from ^(http:\/\/(\[[\w:.]+\]|[\w\._-]+)(:\d+)?)\/$ to ${1}/dashboard/ entryPointName=traefik middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observability/middleware.go:33 > Adding tracing to middleware entryPointName=traefik middlewareName=dashboard_redirect@internal routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:52Z DBG github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:25 > Creating middleware entryPointName=traefik middlewareName=traefik-internal-recovery middlewareType=Recovery
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/pdocker.go:112 > Provider event received {Status:health_status: healthy ID:6b4635742a1c247cbb612ed52986f7562bf9cbe914c3f1553bfc11de738cf71f From:redis:6-alpine Type:container Action:health_status: healthy Actor:{ID:6b4635742a1c247cbb612ed52986f7562bf9cbe914c3f1553bfc11de738cf71f Attributes:map[com.docker.compose.config-hash:553658c4e1b472083dd44abff055e8b5099560f094303ba89ceed5d4f712309d com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:6dd588768b9ba229530de57c108536a8d6b98d53d83f217f59167981fda443ca com.docker.compose.oneoff:False com.docker.compose.project:n8n-traefik com.docker.compose.project.config_files:/opt/n8n-traefik/docker-compose.yml com.docker.compose.project.working_dir:/opt/n8n-traefik com.docker.compose.service:redis com.docker.compose.version:2.33.1 image:redis:6-alpine name:n8n-traefik-redis-1]} Scope:local Time:1742302077 TimeNano:1742302077223816873} providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=redis-n8n-traefik-6b4635742a1c247cbb612ed52986f7562bf9cbe914c3f1553bfc11de738cf71f providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=postgres-n8n-traefik-2da4923006482e2728bc8503c4dbe39ed48e429fd79b3d715a6d5a448ffb34c3 providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=traefik-n8n-traefik-7679ddf260fc908cdbf7c29b0c89d31a517744e173c43a88112f231a0f6d9afd providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{},"tcp":{},"tls":{},"udp":{}} providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:127 > Skipping unchanged configuration providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/pdocker.go:112 > Provider event received {Status:health_status: healthy ID:2da4923006482e2728bc8503c4dbe39ed48e429fd79b3d715a6d5a448ffb34c3 From:postgres:16 Type:container Action:health_status: healthy Actor:{ID:2da4923006482e2728bc8503c4dbe39ed48e429fd79b3d715a6d5a448ffb34c3 Attributes:map[com.docker.compose.config-hash:f56c79f9859668d39014e72d5a25615a9a86f686c4fa029df6f75e1b254af78b com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:cf341163da9093e644a68471b6670b8ac0d296c9a42d3e6a5a0613babfea4423 com.docker.compose.oneoff:False com.docker.compose.project:n8n-traefik com.docker.compose.project.config_files:/opt/n8n-traefik/docker-compose.yml com.docker.compose.project.working_dir:/opt/n8n-traefik com.docker.compose.service:postgres com.docker.compose.version:2.33.1 image:postgres:16 name:n8n-traefik-postgres-1]} Scope:local Time:1742302077 TimeNano:1742302077253537548} providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=redis-n8n-traefik-6b4635742a1c247cbb612ed52986f7562bf9cbe914c3f1553bfc11de738cf71f providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=postgres-n8n-traefik-2da4923006482e2728bc8503c4dbe39ed48e429fd79b3d715a6d5a448ffb34c3 providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=traefik-n8n-traefik-7679ddf260fc908cdbf7c29b0c89d31a517744e173c43a88112f231a0f6d9afd providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/pdocker.go:112 > Provider event received {Status:start ID:17ccb87e7b8502ea801d336f65a553f268b3671cd022fd7ee93ec333c0c97f55 From:docker.n8n.io/n8nio/n8n Type:container Action:start Actor:{ID:17ccb87e7b8502ea801d336f65a553f268b3671cd022fd7ee93ec333c0c97f55 Attributes:map[com.docker.compose.config-hash:2fabbf6e9afd3472c696e9415b83e2486196fa2b1b2ff6bbd2e62c9b367cb3f5 com.docker.compose.container-number:1 com.docker.compose.depends_on:postgres:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:5617d9cad4ce94816deafe165bcdeb20ff7bf4588550ba1a55d903e41c87d695 com.docker.compose.oneoff:False com.docker.compose.project:n8n-traefik com.docker.compose.project.config_files:/opt/n8n-traefik/docker-compose.yml com.docker.compose.project.working_dir:/opt/n8n-traefik com.docker.compose.service:n8n-worker com.docker.compose.version:2.33.1 image:docker.n8n.io/n8nio/n8n name:n8n-traefik-n8n-worker-1 org.opencontainers.image.created:$(date -u +"%Y-%m-%dT%H:%M:%SZ") org.opencontainers.image.description:Workflow Automation Tool org.opencontainers.image.source:https://github.com/n8n-io/n8n org.opencontainers.image.title:n8n org.opencontainers.image.url:https://n8n.io org.opencontainers.image.version:1.82.3]} Scope:local Time:1742302077 TimeNano:1742302077839237992} providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=n8n-worker-n8n-traefik-17ccb87e7b8502ea801d336f65a553f268b3671cd022fd7ee93ec333c0c97f55 providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=redis-n8n-traefik-6b4635742a1c247cbb612ed52986f7562bf9cbe914c3f1553bfc11de738cf71f providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=postgres-n8n-traefik-2da4923006482e2728bc8503c4dbe39ed48e429fd79b3d715a6d5a448ffb34c3 providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=traefik-n8n-traefik-7679ddf260fc908cdbf7c29b0c89d31a517744e173c43a88112f231a0f6d9afd providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/pdocker.go:112 > Provider event received {Status:start ID:7fa7684ae0e2e9b0b40e81ca5c20e44c21980a6fb9201dc0bb5e2b4efa6cd840 From:docker.n8n.io/n8nio/n8n Type:container Action:start Actor:{ID:7fa7684ae0e2e9b0b40e81ca5c20e44c21980a6fb9201dc0bb5e2b4efa6cd840 Attributes:map[com.docker.compose.config-hash:3487351c4c6469cd94c1c76d1074916bdffabc8e1aa1ee2527e572a162937aaf com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,postgres:service_healthy:false com.docker.compose.image:sha256:5617d9cad4ce94816deafe165bcdeb20ff7bf4588550ba1a55d903e41c87d695 com.docker.compose.oneoff:False com.docker.compose.project:n8n-traefik com.docker.compose.project.config_files:/opt/n8n-traefik/docker-compose.yml com.docker.compose.project.working_dir:/opt/n8n-traefik com.docker.compose.service:n8n-main com.docker.compose.version:2.33.1 image:docker.n8n.io/n8nio/n8n name:n8n-traefik-n8n-main-1 org.opencontainers.image.created:$(date -u +"%Y-%m-%dT%H:%M:%SZ") org.opencontainers.image.description:Workflow Automation Tool org.opencontainers.image.source:https://github.com/n8n-io/n8n org.opencontainers.image.title:n8n org.opencontainers.image.url:https://n8n.io org.opencontainers.image.version:1.82.3 traefik.enable:true traefik.http.routers.n8n.entrypoints:websecure traefik.http.routers.n8n.rule:Host(`n8n.automate.ts.vcu.edu`) traefik.http.routers.n8n.tls:true]} Scope:local Time:1742302077 TimeNano:1742302077866065021} providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=n8n-worker-n8n-traefik-17ccb87e7b8502ea801d336f65a553f268b3671cd022fd7ee93ec333c0c97f55 providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=redis-n8n-traefik-6b4635742a1c247cbb612ed52986f7562bf9cbe914c3f1553bfc11de738cf71f providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=postgres-n8n-traefik-2da4923006482e2728bc8503c4dbe39ed48e429fd79b3d715a6d5a448ffb34c3 providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=traefik-n8n-traefik-7679ddf260fc908cdbf7c29b0c89d31a517744e173c43a88112f231a0f6d9afd providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/pdocker.go:112 > Provider event received {Status:start ID:33241ab5dfefb7ff3f292c55abdc27818040732cae0d692127cd7234c7924dbf From:docker.n8n.io/n8nio/n8n Type:container Action:start Actor:{ID:33241ab5dfefb7ff3f292c55abdc27818040732cae0d692127cd7234c7924dbf Attributes:map[com.docker.compose.config-hash:a23fd9a416e27abb2e3cfa38f75fa0891e1f9fbb7cdd84ba6e52d75ff7ceb3c4 com.docker.compose.container-number:1 com.docker.compose.depends_on:postgres:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:5617d9cad4ce94816deafe165bcdeb20ff7bf4588550ba1a55d903e41c87d695 com.docker.compose.oneoff:False com.docker.compose.project:n8n-traefik com.docker.compose.project.config_files:/opt/n8n-traefik/docker-compose.yml com.docker.compose.project.working_dir:/opt/n8n-traefik com.docker.compose.service:n8n-webhook com.docker.compose.version:2.33.1 image:docker.n8n.io/n8nio/n8n name:n8n-traefik-n8n-webhook-1 org.opencontainers.image.created:$(date -u +"%Y-%m-%dT%H:%M:%SZ") org.opencontainers.image.description:Workflow Automation Tool org.opencontainers.image.source:https://github.com/n8n-io/n8n org.opencontainers.image.title:n8n org.opencontainers.image.url:https://n8n.io org.opencontainers.image.version:1.82.3]} Scope:local Time:1742302077 TimeNano:1742302077872197520} providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=n8n-worker-n8n-traefik-17ccb87e7b8502ea801d336f65a553f268b3671cd022fd7ee93ec333c0c97f55 providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=n8n-webhook-n8n-traefik-33241ab5dfefb7ff3f292c55abdc27818040732cae0d692127cd7234c7924dbf providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=redis-n8n-traefik-6b4635742a1c247cbb612ed52986f7562bf9cbe914c3f1553bfc11de738cf71f providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=postgres-n8n-traefik-2da4923006482e2728bc8503c4dbe39ed48e429fd79b3d715a6d5a448ffb34c3 providerName=docker
traefik-1      | 2025-03-18T12:47:57Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=traefik-n8n-traefik-7679ddf260fc908cdbf7c29b0c89d31a517744e173c43a88112f231a0f6d9afd providerName=docker
traefik-1      | 2025-03-18T12:47:58Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/pdocker.go:112 > Provider event received {Status:start ID:27aa1a81ce8dd2e4c2232935d39d368e3afc4d1bb51a5929a50685b1aba53138 From:docker.n8n.io/n8nio/n8n Type:container Action:start Actor:{ID:27aa1a81ce8dd2e4c2232935d39d368e3afc4d1bb51a5929a50685b1aba53138 Attributes:map[com.docker.compose.config-hash:2fabbf6e9afd3472c696e9415b83e2486196fa2b1b2ff6bbd2e62c9b367cb3f5 com.docker.compose.container-number:2 com.docker.compose.depends_on:postgres:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:5617d9cad4ce94816deafe165bcdeb20ff7bf4588550ba1a55d903e41c87d695 com.docker.compose.oneoff:False com.docker.compose.project:n8n-traefik com.docker.compose.project.config_files:/opt/n8n-traefik/docker-compose.yml com.docker.compose.project.working_dir:/opt/n8n-traefik com.docker.compose.service:n8n-worker com.docker.compose.version:2.33.1 image:docker.n8n.io/n8nio/n8n name:n8n-traefik-n8n-worker-2 org.opencontainers.image.created:$(date -u +"%Y-%m-%dT%H:%M:%SZ") org.opencontainers.image.description:Workflow Automation Tool org.opencontainers.image.source:https://github.com/n8n-io/n8n org.opencontainers.image.title:n8n org.opencontainers.image.url:https://n8n.io org.opencontainers.image.version:1.82.3]} Scope:local Time:1742302078 TimeNano:1742302078008941334} providerName=docker
traefik-1      | 2025-03-18T12:47:58Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=n8n-worker-n8n-traefik-17ccb87e7b8502ea801d336f65a553f268b3671cd022fd7ee93ec333c0c97f55 providerName=docker
traefik-1      | 2025-03-18T12:47:58Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=n8n-webhook-n8n-traefik-33241ab5dfefb7ff3f292c55abdc27818040732cae0d692127cd7234c7924dbf providerName=docker
traefik-1      | 2025-03-18T12:47:58Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=n8n-worker-n8n-traefik-27aa1a81ce8dd2e4c2232935d39d368e3afc4d1bb51a5929a50685b1aba53138 providerName=docker
traefik-1      | 2025-03-18T12:47:58Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=redis-n8n-traefik-6b4635742a1c247cbb612ed52986f7562bf9cbe914c3f1553bfc11de738cf71f providerName=docker
traefik-1      | 2025-03-18T12:47:58Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=postgres-n8n-traefik-2da4923006482e2728bc8503c4dbe39ed48e429fd79b3d715a6d5a448ffb34c3 providerName=docker
traefik-1      | 2025-03-18T12:47:58Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/config.go:185 > Filtering disabled container container=traefik-n8n-traefik-7679ddf260fc908cdbf7c29b0c89d31a517744e173c43a88112f231a0f6d9afd providerName=docker
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{"routers":{"n8n":{"entryPoints":["websecure"],"rule":"Host(`n8n.automate.ts.vcu.edu`)","service":"n8n-main-n8n-traefik","tls":{}}},"services":{"n8n-main-n8n-traefik":{"loadBalancer":{"passHostHeader":true,"responseForwarding":{"flushInterval":"100ms"},"servers":[{"url":"http://172.18.0.6:5678"}]}}}},"tcp":{},"tls":{},"udp":{}} providerName=docker
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:97 > No store is defined to add the certificate MIIFBTCCBKugAwIBAgIQDE/l2Hi7cpd5rvycDVwROzAKBggqhk, it will be added to the default store
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:132 > Adding certificate for domain(s) automate.ts.vcu.edu,n8n.automate.ts.vcu.edu,webhook.automate.ts.vcu.edu
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:321 > No default certificate, fallback to the internal generated certificate tlsStoreName=default
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/middlewares/stripprefix/strip_prefix.go:32 > Creating middleware entryPointName=traefik middlewareName=dashboard_stripprefix@internal middlewareType=StripPrefix routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observability/middleware.go:33 > Adding tracing to middleware entryPointName=traefik middlewareName=dashboard_stripprefix@internal routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_regex.go:17 > Creating middleware entryPointName=traefik middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_regex.go:18 > Setting up redirection from ^(http:\/\/(\[[\w:.]+\]|[\w\._-]+)(:\d+)?)\/$ to ${1}/dashboard/ entryPointName=traefik middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observability/middleware.go:33 > Adding tracing to middleware entryPointName=traefik middlewareName=dashboard_redirect@internal routerName=dashboard@internal
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:25 > Creating middleware entryPointName=traefik middlewareName=traefik-internal-recovery middlewareType=Recovery
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/server/service/service.go:312 > Creating load-balancer entryPointName=websecure routerName=n8n@docker serviceName=n8n-main-n8n-traefik@docker
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/server/service/service.go:344 > Creating server URL=http://172.18.0.6:5678 entryPointName=websecure routerName=n8n@docker serverIndex=0 serviceName=n8n-main-n8n-traefik@docker
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:25 > Creating middleware entryPointName=websecure middlewareName=traefik-internal-recovery middlewareType=Recovery
traefik-1      | 2025-03-18T12:47:59Z DBG github.com/traefik/traefik/v3/pkg/server/router/tcp/manager.go:237 > Adding route for n8n.automate.ts.vcu.edu with TLS options default entryPointName=websecure

Let's try this again :wink:

1 Like

Update. Thanks to @bluepuma77 and his guidance to turn on the advanced access log, I was able to see that traffic coming over 443 was still using http.

The issue was not Treafik, although maybe I could have served up my applications using web rather than websecure, but actually the F5 VIP configuration. Enabling end to end encryption from the VIP is what resolved the issue.

I would not categorize this as a Traefik issue.

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