Docker Swarm Setup 404

I want to run a three node docker swarm in my home lab and use Traefik as a reverse proxy for services. All three nodes are managers. When I try to access the dashboard or Portainer UI
I always get 404 response. In the log file there are no errors.

What am I missing or doing wrong ?

Any help is appreciated

I have created a custom network proxy to use it with Traefik.

{
    "Name": "proxy",
    "Id": "gt64s2or4cpofv43f5awd96fn",
    "Created": "2025-01-24T08:24:38.846938509+01:00",
    "Scope": "swarm",
    "Driver": "overlay",
    "EnableIPv6": false,
    "IPAM": {
        "Driver": "default",
        "Options": null,
        "Config": [
            {
                "Subnet": "172.20.1.0/24",
                "Gateway": "172.20.1.1"
            }
        ]
    },
    "Internal": false,
    "Attachable": true,
    "Ingress": false,
    "ConfigFrom": {
        "Network": ""
    },
    "ConfigOnly": false,
    "Containers": {
        "f95c344d835b653683ce8bc8a3530d810745105448dfc79ae2296ec4cfe4630c": {
            "Name": "traefik_traefik.1.7om5yqz7vapnv38j7xbdudanc",
            "EndpointID": "17947fe47aba5beabd60acf0c66a5c9b814cf970e66bfa71e8737cb747885956",
            "MacAddress": "02:42:ac:14:01:0c",
            "IPv4Address": "172.20.1.12/24",
            "IPv6Address": ""
        },
        "lb-proxy": {
            "Name": "proxy-endpoint",
            "EndpointID": "690efb6bd6e834ece436dc459f38877bf8eb14dce92f1942a079becce0d32792",
            "MacAddress": "02:42:ac:14:01:0d",
            "IPv4Address": "172.20.1.13/24",
            "IPv6Address": ""
        }
    },
    "Options": {
        "com.docker.network.driver.overlay.vxlanid_list": "4110"
    },
    "Labels": {},
    "Peers": [
        {
            "Name": "109735f97149",
            "IP": "10.10.10.21"
        },
        {
            "Name": "c4131ce5330b",
            "IP": "10.10.10.22"
        }
    ]
}

Here is my Traefik stack deployment.

services:
  traefik:
    image: traefik:v3.3
    ports:
      - 80:80
      - 443:443
    environment:
      - LEGO_CA_CERTIFICATES=/etc/traefik/certs/root_ca.crt
    volumes:
      - ./acme:/etc/traefik/acme
      - ./certs:/etc/traefik/certs
      - ./logs:/etc/traefik/logs
      - ./traefik-config.yml:/etc/traefik/traefik.yml
      - /etc/ssl:/etc/ssl:ro
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - proxy
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      labels:
        - traefik.enable=true
        - traefik.http.routers.traefik.rule=Host(`traefik.example.home`)
        - traefik.http.routers.traefik.service=api@internal
        - traefik.http.routers.traefik.entrypoints=websecure
        - traefik.http.services.traefik.loadbalancer.server.port=9999

networks:
  proxy:
    name: proxy
    external: true

Traefik Config

################################################################
# Global configuration
################################################################
global:
  checkNewVersion: false
  sendAnonymousUsage: false

################################################################
# EntryPoints configuration
################################################################

entryPoints:
  web:
    address: :80
    http:
      redirections:
        entrypoint:
          to: websecure
          scheme: https

  websecure:
    address: :443

################################################################
# Traefik logs configuration
################################################################

log:
  level: DEBUG
  filePath: /etc/traefik/logs/log.log
  format: common
  maxSize: 1
  maxBackups: 3
  maxAge: 3

################################################################
# Access logs configuration
################################################################

accessLog:
  filePath: /etc/traefik/logs/accesslog.log
  format: common
  addInternals: true

################################################################
# Metrics configuration
################################################################

#metrics:
#  addInternals: true

################################################################
# Tracing configuration
################################################################

#tracing:
#  addInternals: true
#  serviceName: traefik
#  sampleRate: 1.0

################################################################
# API and dashboard configuration
################################################################

api:
  insecure: false
  dashboard: true

################################################################
# Ping configuration
################################################################

ping:
  entryPoint: traefik

################################################################
# Providers configuration
################################################################

providers:
  swarm:
    endpoint: "unix:///var/run/docker.sock"
    exposedByDefault: false

################################################################
#  Certificate configuration
################################################################

certificatesResolvers:
  stepca:
    acme:
      email: user@example.home
      storage: /etc/traefik/acme/stepca-acme.json
      caServer: https://ca.example.home/acme/acme/directory
      certificatesDuration: 24
      tlsChallenge: true
      eab:
        kid: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
        hmacEncoded: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

################################################################
#  Transport configuration
################################################################

serversTransport:
  insecureSkipVerify: true
  rootCAs:
    - /etc/traefik/certs/root_ca.crt

Portainer Stack

services:
  agent:
    image: portainer/agent:2.21.5
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/var/lib/docker/volumes
    networks:
      - agent_network
    deploy:
      mode: global
      placement:
        constraints:
          - node.platform.os == linux

  portainer:
    image: portainer/portainer-ce:2.21.5
    command: -H tcp://tasks.agent:9001 --tlsskipverify
#    ports:
#      - "9443:9443"
#      - "9000:9000"
#      - "8000:8000"
    volumes:
      - ./data:/data
    networks:
      - proxy
      - agent_network
    deploy:
      labels:
        - traefik.enable=true
        - traefik.http.routers.portainer.rule=Host(`portainer.example.home`)
        - traefik.http.routers.portainer.service=portainer
        - traefik.http.routers.portainer.entrypoints=websecure
        - traefik.http.services.portainer.loadbalancer.server.scheme=https
        - traefik.http.services.portainer.loadbalancer.server.port=9443
      mode: replicated
      replicas: 1
      placement:
        constraints:
          - node.role == manager

networks:
  agent_network:
    driver: overlay
    attachable: true
  proxy:
    name: proxy
    external: true

Accesslog

10.0.0.2 - - [24/Jan/2025:07:25:48 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 1 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:49 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 2 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:49 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 3 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:49 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 4 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:50 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 5 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:50 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 6 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:50 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 7 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:51 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 8 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:51 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 9 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:51 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 10 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:51 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 11 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:52 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 12 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:52 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 13 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:52 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 14 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:25:52 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 15 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:14 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 16 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:15 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 17 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:15 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 18 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:15 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 19 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:15 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 20 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:15 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 21 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:17 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 22 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:17 +0000] "GET /favicon.ico HTTP/1.1" 404 19 "-" "-" 23 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:18 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 24 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:18 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 25 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:18 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 26 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:18 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 27 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:18 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 28 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:19 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 29 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:31 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 30 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:31 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 31 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:31 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 32 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:31 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 33 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:32 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 34 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:32 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 35 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:32 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 36 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:32 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 37 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:32 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 38 "-" "-" 0ms
10.0.0.2 - - [24/Jan/2025:07:29:32 +0000] "GET / HTTP/1.1" 404 19 "-" "-" 39 "-" "-" 0ms

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

Check Traefik /dashboard/ if the routers and services are registered.

You are deploying the services to Swarm with docker stack deploy?

Compare to simple Traefik Swarm example.

I enabled log and access log. How can i check /dashboard/ if i am unable to access the dashboard!

i change the ports to use host mode as per the example, still same result -> 404

i am deploying traefik with docker stack deploy

Log

{"level":"info","version":"3.3.2","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/cmd/traefik/traefik.go:107","message":"Traefik version 3.3.2 built on 2025-01-14T15:52:24Z"}
{"level":"debug","staticConfiguration":{"global":{},"serversTransport":{"insecureSkipVerify":true,"rootCAs":["/etc/traefik/certs/root_ca.crt"],"maxIdleConnsPerHost":200},"tcpServersTransport":{"dialKeepAlive":"15s","dialTimeout":"30s"},"entryPoints":{"traefik":{"address":":8080","transport":{"lifeCycle":{"graceTimeOut":"10s"},"respondingTimeouts":{"readTimeout":"1m0s","idleTimeout":"3m0s"}},"forwardedHeaders":{},"http":{"maxHeaderBytes":1048576},"http2":{"maxConcurrentStreams":250},"udp":{"timeout":"3s"},"observability":{"accessLogs":true,"tracing":true,"metrics":true}},"web":{"address":":80","transport":{"lifeCycle":{"graceTimeOut":"10s"},"respondingTimeouts":{"readTimeout":"1m0s","idleTimeout":"3m0s"}},"forwardedHeaders":{},"http":{"redirections":{"entryPoint":{"to":"websecure","scheme":"https","permanent":true,"priority":9223372036854775806}},"maxHeaderBytes":1048576},"http2":{"maxConcurrentStreams":250},"udp":{"timeout":"3s"},"observability":{"accessLogs":true,"tracing":true,"metrics":true}},"websecure":{"address":":443","asDefault":true,"transport":{"lifeCycle":{"graceTimeOut":"10s"},"respondingTimeouts":{"readTimeout":"1m0s","idleTimeout":"3m0s"}},"forwardedHeaders":{},"http":{"maxHeaderBytes":1048576},"http2":{"maxConcurrentStreams":250},"udp":{"timeout":"3s"},"observability":{"accessLogs":true,"tracing":true,"metrics":true}}},"providers":{"providersThrottleDuration":"2s","swarm":{"watch":true,"defaultRule":"Host(`{{ normalize .Name }}`)","endpoint":"unix:///var/run/docker.sock","refreshSeconds":"15s"}},"api":{"basePath":"/","dashboard":true},"ping":{"entryPoint":"traefik","terminatingStatusCode":503},"log":{"level":"DEBUG","format":"json","filePath":"/etc/traefik/logs/log.log","maxSize":10,"maxAge":3,"maxBackups":3},"accessLog":{"filePath":"/etc/traefik/logs/accesslog.log","format":"json","filters":{},"fields":{"defaultMode":"keep","headers":{"defaultMode":"drop"}},"addInternals":true},"certificatesResolvers":{"stepca":{"acme":{"email":"user@example.home","caServer":"https://ca.example.home/acme/acme/directory","storage":"/etc/traefik/acme/stepca-acme.json","keyType":"RSA4096","eab":{"kid":"wgVNfUQQXXzSLDiYsnxY-s_Qqzmaq7r5lcqy8lv3OPU","hmacEncoded":"SE5VN2RvdXRxMWNnOUdWRE1MRUVLa3JrMHY4WVlLSEM="},"certificatesDuration":24,"tlsChallenge":{}}}}},"time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/cmd/traefik/traefik.go:114","message":"Static configuration loaded [json]"}
{"level":"info","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/cmd/traefik/traefik.go:633","message":"\nStats collection is disabled.\nHelp us improve Traefik by turning this feature on :)\nMore details on: https://doc.traefik.io/traefik/contributing/data-collection/\n"}
{"level":"info","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:73","message":"Starting provider aggregator *aggregator.ProviderAggregator"}
{"level":"debug","entryPointName":"websecure","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:231","message":"Starting TCP Server"}
{"level":"debug","entryPointName":"traefik","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:231","message":"Starting TCP Server"}
{"level":"debug","entryPointName":"web","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:231","message":"Starting TCP Server"}
{"level":"info","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202","message":"Starting provider *traefik.Provider"}
{"level":"debug","config":{},"time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203","message":"*traefik.Provider provider configuration"}
{"level":"info","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202","message":"Starting provider *docker.SwarmProvider"}
{"level":"debug","config":{"watch":true,"defaultRule":"Host(`{{ normalize .Name }}`)","endpoint":"unix:///var/run/docker.sock","refreshSeconds":"15s"},"time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203","message":"*docker.SwarmProvider provider configuration"}
{"level":"debug","providerName":"internal","config":{"http":{"routers":{"ping":{"entryPoints":["traefik"],"service":"ping@internal","rule":"PathPrefix(`/ping`)","ruleSyntax":"v3","priority":9223372036854775807},"web-to-websecure":{"entryPoints":["web"],"middlewares":["redirect-web-to-websecure"],"service":"noop@internal","rule":"HostRegexp(`^.+$`)","ruleSyntax":"v3","priority":9223372036854775806}},"services":{"api":{},"dashboard":{},"noop":{},"ping":{}},"middlewares":{"redirect-web-to-websecure":{"redirectScheme":{"scheme":"https","port":"443","permanent":true}}},"models":{"traefik":{"observability":{"accessLogs":true,"tracing":true,"metrics":true}},"web":{"observability":{"accessLogs":true,"tracing":true,"metrics":true}},"websecure":{"observability":{"accessLogs":true,"tracing":true,"metrics":true}}},"serversTransports":{"default":{"insecureSkipVerify":true,"maxIdleConnsPerHost":200}}},"tcp":{"serversTransports":{"default":{"dialKeepAlive":"15s","dialTimeout":"30s"}}},"udp":{},"tls":{}},"time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227","message":"Configuration received"}
{"level":"info","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202","message":"Starting provider *acme.ChallengeTLSALPN"}
{"level":"debug","config":{},"time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203","message":"*acme.ChallengeTLSALPN provider configuration"}
{"level":"info","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202","message":"Starting provider *acme.Provider"}
{"level":"debug","config":{"email":"user@example.home","caServer":"https://ca.example.home/acme/acme/directory","storage":"/etc/traefik/acme/stepca-acme.json","keyType":"RSA4096","eab":{"kid":"xxxx","hmacEncoded":"xxxx"},"certificatesDuration":24,"tlsChallenge":{},"ResolverName":"stepca","store":{},"TLSChallengeProvider":{},"HTTPChallengeProvider":{}},"time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203","message":"*acme.Provider provider configuration"}
{"level":"debug","providerName":"stepca.acme","acmeCA":"https://ca.example.home/acme/acme/directory","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:232","message":"Attempt to renew certificates \"6h0m0s\" before expiry and check every \"10m0s\""}
{"level":"info","providerName":"stepca.acme","acmeCA":"https://ca.example.home/acme/acme/directory","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:884","message":"Testing certificate renew..."}
{"level":"debug","providerName":"stepca.acme","config":{"http":{},"tcp":{},"udp":{},"tls":{}},"time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227","message":"Configuration received"}
{"level":"debug","providerName":"swarm","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/provider/docker/pswarm.go:93","message":"Provider connection established with docker 27.5.0 (API 1.47)"}
{"level":"debug","providerName":"swarm","config":{"http":{"routers":{"traefik":{"entryPoints":["websecure"],"service":"api@internal","rule":"Host(`traefik.example.home`)"}},"services":{"traefik":{"loadBalancer":{"servers":[{"url":"http://172.20.1.9:1337"},{"url":"http://172.20.1.8:1337"},{"url":"http://172.20.1.7:1337"}],"passHostHeader":true,"responseForwarding":{"flushInterval":"100ms"}}}}},"tcp":{},"udp":{},"tls":{}},"time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227","message":"Configuration received"}
{"level":"debug","tlsStoreName":"default","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:321","message":"No default certificate, fallback to the internal generated certificate"}
{"level":"debug","entryPointName":"web","routerName":"web-to-websecure@internal","middlewareName":"redirect-web-to-websecure@internal","middlewareType":"RedirectScheme","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_scheme.go:29","message":"Creating middleware"}
{"level":"debug","entryPointName":"web","routerName":"web-to-websecure@internal","middlewareName":"redirect-web-to-websecure@internal","middlewareType":"RedirectScheme","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_scheme.go:30","message":"Setting up redirection to https 443"}
{"level":"debug","entryPointName":"web","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:25","message":"Creating middleware"}
{"level":"debug","entryPointName":"traefik","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","time":"2025-01-24T17:32:14Z","caller":"github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:25","message":"Creating middleware"}
{"level":"debug","tlsStoreName":"default","time":"2025-01-24T17:32:15Z","caller":"github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:321","message":"No default certificate, fallback to the internal generated certificate"}
{"level":"debug","entryPointName":"websecure","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","time":"2025-01-24T17:32:15Z","caller":"github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:25","message":"Creating middleware"}
{"level":"debug","entryPointName":"traefik","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","time":"2025-01-24T17:32:15Z","caller":"github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:25","message":"Creating middleware"}
{"level":"debug","entryPointName":"web","routerName":"web-to-websecure@internal","middlewareName":"redirect-web-to-websecure@internal","middlewareType":"RedirectScheme","time":"2025-01-24T17:32:15Z","caller":"github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_scheme.go:29","message":"Creating middleware"}
{"level":"debug","entryPointName":"web","routerName":"web-to-websecure@internal","middlewareName":"redirect-web-to-websecure@internal","middlewareType":"RedirectScheme","time":"2025-01-24T17:32:15Z","caller":"github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_scheme.go:30","message":"Setting up redirection to https 443"}
{"level":"debug","entryPointName":"web","middlewareName":"traefik-internal-recovery","middlewareType":"Recovery","time":"2025-01-24T17:32:15Z","caller":"github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:25","message":"Creating middleware"}

Access Log

{"ClientAddr":"10.10.10.1:9014","ClientHost":"10.10.10.1","ClientPort":"9014","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":17750,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":17750,"RequestAddr":"traefik.example.home","RequestContentSize":0,"RequestCount":1,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:33:10.272750157Z","StartUTC":"2025-01-24T17:33:10.272750157Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:33:10Z"}
{"ClientAddr":"10.10.10.1:9014","ClientHost":"10.10.10.1","ClientPort":"9014","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":16827,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":16827,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":2,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/favicon.ico","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:33:10.357954013Z","StartUTC":"2025-01-24T17:33:10.357954013Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:33:10Z"}
{"ClientAddr":"10.10.10.1:9014","ClientHost":"10.10.10.1","ClientPort":"9014","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":19033,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":19033,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":3,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:33:12.302058997Z","StartUTC":"2025-01-24T17:33:12.302058997Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:33:12Z"}
{"ClientAddr":"10.10.10.1:9014","ClientHost":"10.10.10.1","ClientPort":"9014","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":18807,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":18807,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":4,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:33:12.731723399Z","StartUTC":"2025-01-24T17:33:12.731723399Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:33:12Z"}
{"ClientAddr":"10.10.10.1:9014","ClientHost":"10.10.10.1","ClientPort":"9014","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":15616,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":15616,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":5,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:33:12.946599544Z","StartUTC":"2025-01-24T17:33:12.946599544Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:33:12Z"}
{"ClientAddr":"10.10.10.1:9014","ClientHost":"10.10.10.1","ClientPort":"9014","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":18671,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":18671,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":6,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:33:13.130557394Z","StartUTC":"2025-01-24T17:33:13.130557394Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:33:13Z"}
{"ClientAddr":"10.10.10.1:9014","ClientHost":"10.10.10.1","ClientPort":"9014","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":18312,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":18312,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":7,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:33:14.291216186Z","StartUTC":"2025-01-24T17:33:14.291216186Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:33:14Z"}
{"ClientAddr":"10.10.10.1:18463","ClientHost":"10.10.10.1","ClientPort":"18463","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":15338,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":15338,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":8,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:34:50.71677215Z","StartUTC":"2025-01-24T17:34:50.71677215Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:34:50Z"}
{"ClientAddr":"10.10.10.1:18463","ClientHost":"10.10.10.1","ClientPort":"18463","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":28629,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":28629,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":9,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:34:51.649040489Z","StartUTC":"2025-01-24T17:34:51.649040489Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:34:51Z"}
{"ClientAddr":"10.10.10.1:18463","ClientHost":"10.10.10.1","ClientPort":"18463","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":16625,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":16625,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":10,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:34:51.847453019Z","StartUTC":"2025-01-24T17:34:51.847453019Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:34:51Z"}
{"ClientAddr":"10.10.10.1:18463","ClientHost":"10.10.10.1","ClientPort":"18463","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":17852,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":17852,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":11,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:34:52.069193682Z","StartUTC":"2025-01-24T17:34:52.069193682Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:34:52Z"}
{"ClientAddr":"10.10.10.1:38606","ClientHost":"10.10.10.1","ClientPort":"38606","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":16667,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":16667,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":12,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:35:41.255732422Z","StartUTC":"2025-01-24T17:35:41.255732422Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:35:41Z"}
{"ClientAddr":"10.10.10.1:38606","ClientHost":"10.10.10.1","ClientPort":"38606","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":16943,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":16943,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":13,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:35:42.318154717Z","StartUTC":"2025-01-24T17:35:42.318154717Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:35:42Z"}
{"ClientAddr":"10.10.10.1:38606","ClientHost":"10.10.10.1","ClientPort":"38606","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":22115,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":22115,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":14,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:35:42.750801672Z","StartUTC":"2025-01-24T17:35:42.750801672Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:35:42Z"}
{"ClientAddr":"10.10.10.1:38606","ClientHost":"10.10.10.1","ClientPort":"38606","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":18096,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":18096,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":15,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:35:42.953515815Z","StartUTC":"2025-01-24T17:35:42.953515815Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:35:42Z"}
{"ClientAddr":"10.10.10.1:38606","ClientHost":"10.10.10.1","ClientPort":"38606","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":16372,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":16372,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":16,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:35:43.154160481Z","StartUTC":"2025-01-24T17:35:43.154160481Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:35:43Z"}
{"ClientAddr":"10.10.10.1:38606","ClientHost":"10.10.10.1","ClientPort":"38606","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":19434,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":19434,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":17,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:35:43.353261271Z","StartUTC":"2025-01-24T17:35:43.353261271Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:35:43Z"}
{"ClientAddr":"10.10.10.1:38606","ClientHost":"10.10.10.1","ClientPort":"38606","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":18723,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":18723,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":18,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:35:43.538723983Z","StartUTC":"2025-01-24T17:35:43.538723983Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:35:43Z"}
{"ClientAddr":"10.10.10.3:49956","ClientHost":"10.10.10.3","ClientPort":"49956","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":13962,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":13962,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":19,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/2.0","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:35:56.617025432Z","StartUTC":"2025-01-24T17:35:56.617025432Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:35:56Z"}
{"ClientAddr":"10.10.10.3:49956","ClientHost":"10.10.10.3","ClientPort":"49956","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":16936,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":16936,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":20,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/2.0","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:35:58.522322358Z","StartUTC":"2025-01-24T17:35:58.522322358Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:35:58Z"}
{"ClientAddr":"10.10.10.3:49956","ClientHost":"10.10.10.3","ClientPort":"49956","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":18877,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":18877,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":21,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/2.0","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:35:58.841071535Z","StartUTC":"2025-01-24T17:35:58.841071535Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:35:58Z"}
{"ClientAddr":"10.10.10.3:49956","ClientHost":"10.10.10.3","ClientPort":"49956","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":17745,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":17745,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":22,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/2.0","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:35:59.936103382Z","StartUTC":"2025-01-24T17:35:59.936103382Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:35:59Z"}
{"ClientAddr":"10.10.10.3:49956","ClientHost":"10.10.10.3","ClientPort":"49956","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":17844,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":17844,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":23,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/2.0","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:36:00.113437563Z","StartUTC":"2025-01-24T17:36:00.113437563Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:36:00Z"}
{"ClientAddr":"10.10.10.3:49958","ClientHost":"10.10.10.3","ClientPort":"49958","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":18305,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":18305,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":24,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/2.0","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:36:02.175859357Z","StartUTC":"2025-01-24T17:36:02.175859357Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:36:02Z"}
{"ClientAddr":"10.10.10.3:49958","ClientHost":"10.10.10.3","ClientPort":"49958","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":19746,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":19746,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":25,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/2.0","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:36:02.378787468Z","StartUTC":"2025-01-24T17:36:02.378787468Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:36:02Z"}
{"ClientAddr":"10.10.10.3:49958","ClientHost":"10.10.10.3","ClientPort":"49958","ClientUsername":"-","DownstreamContentSize":19,"DownstreamStatus":404,"Duration":18619,"GzipRatio":0,"OriginContentSize":0,"OriginDuration":0,"OriginStatus":0,"Overhead":18619,"RequestAddr":"traefik.mukhtabar.home","RequestContentSize":0,"RequestCount":26,"RequestHost":"traefik.mukhtabar.home","RequestMethod":"GET","RequestPath":"/","RequestPort":"-","RequestProtocol":"HTTP/2.0","RequestScheme":"https","RetryAttempts":0,"StartLocal":"2025-01-24T17:36:02.55992122Z","StartUTC":"2025-01-24T17:36:02.55992122Z","TLSCipher":"TLS_AES_128_GCM_SHA256","TLSVersion":"1.3","entryPointName":"websecure","level":"info","msg":"","time":"2025-01-24T17:36:02Z"}

Strange, the router with api@ is created, but it has 3 target service IPs.

OriginStatus:0 indicates that the error is coming from Traefik, not from a target service. It seems Traefik doesn’t find a matching router rule, as no router name is provided.

When you use host network and replicas: 1, then you need to connect to the right IP of the node which runs your single instance.

I think because I changed the deployment mode to gloabl and i have 3 manager nodes.

I also created a host override for my private domain to point to the IP of one of the manager nodes directly, since I was using HAProxy (OPNsense) to load balance between the three nodes, but i still get the same result, I don't believe that my proxy setup is interfering with it.

services:
  traefik:
    image: traefik:v3.3
    ports:
      - target: 80
        published: 80
        protocol: tcp
        mode: host
      - target: 443
        published: 443
        protocol: tcp
        mode: host
    environment:
      - LEGO_CA_CERTIFICATES=/etc/traefik/certs/root_ca.crt
    volumes:
      - ./acme:/etc/traefik/acme
      - ./certs:/etc/traefik/certs
      - ./logs:/etc/traefik/logs
      - ./traefik-config.yml:/etc/traefik/traefik.yml
      - /etc/ssl:/etc/ssl:ro
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - proxy
    deploy:
      mode: global
      placement:
        constraints:
          - node.role == manager
      labels:
        - traefik.enable=true
        - traefik.http.routers.traefik.rule=Host(`traefik.example.home`)
        - traefik.http.routers.traefik.service=api@internal
        - traefik.http.routers.traefik.entrypoints=websecure
        - traefik.http.services.traefik.loadbalancer.server.port=1337

networks:
  proxy:
    name: proxy
    external: true

The simple Traefik Swarm example with dnsChallence works for me with multiple Traefik instances.

Because I am using a self-hosted BIND9 DNS Server, I was unable to use the dnsChallenge

Instead, I changed the acme to use httpChallenge and it worked.

For reasons, I don't understand the tlsChallenge was causing the problem, maybe because traefik is running behind HAProxy (load-balancer behind a load-balancer).

Is haproxy just proxying plain TCP, no TLS handling enabled?

Be aware that httpChallenge and tlsChallenge usually only work with a single Traefik instance, multiple instances can lead to no creation or renew of TLS certs.

(One Traefik instance will request a cert, LetsEncrypt will do a request to the domain, which mostly ends up on the wrong Traefik instance because of round robin)

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