Unable to expose Traefik Dashboard by HTTPS

452 Views Asked by At

I deployed Traefik on EKS by Traefik/Traefix helm chart, I defined some values as below:

service:
  enabled: true
  type: LoadBalancer
  # Additional annotations (e.g. for cloud provider specific config)
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-internal: "0.0.0.0/0"
ingressRoute:
  dashboard:
    enabled: false
additionalArguments:
  - --providers.file.filename=/traefik-data/traefik-config.yaml
ports:
  web:
    redirectTo: websecure
volumes:
  - mountPath: /traefik-data
    name: traefik-config
    type: configMap

Then I create ingressroute for Traefik Dashboard:

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: dashboard
  namespace: traefik
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`db.abc.io`) && (PathPrefix(`/dashboard`) || PathPrefix(`/api`))
      kind: Rule
      services:
        - name: api@internal
          kind: TraefikService

Actually, I don't know how to set SSL certificate in IngressRoute. When I access https://db.abc.io, it return "404 page not found", but if I tried with http, the dashboard can be loaded. I also got the same issue when I tried to deploy example application and expose via Ingress:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: greetings
  annotations:
    kubernetes.io/tls-acme: "true"
    traefik.ingress.kubernetes.io/router.entrypoints: websecure,web
    kubernetes.io/ingress.class: traefik
spec:
  tls:
  - hosts:
      - hello.abc.io
    secretName: abc-tls
  rules:
  - host: hello.abc.io
    http:
      paths:
      - path: /
        backend:
          serviceName: hello-service
          servicePort: http

Any idea or what might causing this issue?

0

There are 0 best solutions below