Getting 'Gateway Timeout' for IngressRoute serving static files with nginx container

Hello there,

I have EKS cluster and ALB ingress controller to receive the traffic and send it to the Traefik controller service type Nodeport.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    alb.ingress.kubernetes.io/backend-protocol: HTTP
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
    alb.ingress.kubernetes.io/load-balancer-name: my-lb
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/certificate-arn: 
    alb.ingress.kubernetes.io/ssl-redirect: "443"
    alb.ingress.kubernetes.io/success-codes: 200-404
    alb.ingress.kubernetes.io/target-type: instance
    alb.ingress.kubernetes.io/tags: Environment=staging
  name: traefik
  namespace: traefik
spec:
  ingressClassName: alb
  rules:
  - http:
      paths:
      - backend:
          service:
            name: traefik
            port:
              name: web
        path: /*
        pathType: ImplementationSpecific

Traefik values file:

nodeSelector:
  USAGE: "SECURITY"
service:
  type: NodePort
  spec:
    externaltrafficpolicy: Local
logs:
  general:
    format:
    level: INFO
  access:
    enabled: true
ports:
  web:
    asDefault: true
    nodePort: 30080
persistence:
  enabled: true
tracing:
  addInternals: true
  otlp:
    enabled: true
    http:
      # -- Set to true in order to send metrics to the OpenTelemetry Collector using HTTP.
      enabled: true
image:
  # -- Traefik image host registry
  registry: docker.io
  # -- Traefik image repository
  repository: traefik
  # -- defaults to appVersion
  tag: v3.0.4

Ingressroutes for all API are working fine.

apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: ingress-{{ .Values.name }}
  namespace: {{ .Values.namespace }}
spec:
  entrypoints:
    - web
  routes:
  - kind: Rule
    match: Host(`{{ .Values.host }}`)
    services:
    - name: {{ .Values.name }}
      port: 3000
      namespace: {{ .Values.namespace }}

but for services that serve nginx it's not working I get 504 error.

apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: ingress-{{ .Values.name }}
  namespace: {{ .Values.namespace }}
spec:
  entrypoints:
    - web
  routes:
  - kind: Rule
    match: Host(`{{ .Values.host }}`)
    services:
      - name: {{ .Values.name }}
        port: 80
        namespace: {{ .Values.namespace }}
        passHostHeader: true
1 Like

Hi There, I'm facing a similar issue. Were you able to solve your problem?