diff --git a/config/traefik/dynamic/middleware.yml b/config/traefik/dynamic/middleware.yml index 0653e6a..37df4df 100755 --- a/config/traefik/dynamic/middleware.yml +++ b/config/traefik/dynamic/middleware.yml @@ -1,5 +1,16 @@ http: middlewares: + # Request ID forwarding middleware + # Note: Traefik v3 lacks native UUID generation + # Backend generates X-Request-Id if not present in request + # This middleware ensures the header is forwarded when present + request-id: + headers: + customRequestHeaders: + X-Forwarded-Host: "{{ .Request.Host }}" + # X-Request-Id forwarded automatically via passthrough + # Backend responsibility: generate UUID if header missing + # Security headers middleware secure-headers: headers: @@ -33,6 +44,7 @@ http: - "Content-Type" - "X-Requested-With" - "X-Tenant-ID" + - "X-Request-Id" accessControlAllowMethods: - "GET" - "POST" diff --git a/config/traefik/traefik.yml b/config/traefik/traefik.yml index bfceb1f..4f7f779 100755 --- a/config/traefik/traefik.yml +++ b/config/traefik/traefik.yml @@ -68,6 +68,7 @@ accessLog: User-Agent: redact Authorization: drop Cookie: drop + X-Request-Id: keep # Metrics for monitoring metrics: