--- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: aprs-me-cert namespace: aprs spec: secretName: aprs-me-tls issuerRef: name: letsencrypt-prod kind: ClusterIssuer dnsNames: - aprs.me - www.aprs.me --- apiVersion: traefik.io/v1alpha1 kind: Middleware metadata: name: real-ip namespace: aprs spec: headers: customRequestHeaders: X-Forwarded-Proto: "https" --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: aprs-https namespace: aprs spec: entryPoints: - websecure routes: - match: Host(`aprs.me`) || Host(`www.aprs.me`) kind: Rule middlewares: - name: real-ip services: - name: aprs port: 80 tls: secretName: aprs-me-tls --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: aprs-http namespace: aprs spec: entryPoints: - web routes: - match: Host(`aprs.me`) || Host(`www.aprs.me`) kind: Rule services: - name: aprs port: 80 middlewares: - name: redirect-to-https --- apiVersion: traefik.io/v1alpha1 kind: Middleware metadata: name: redirect-to-https namespace: aprs spec: redirectScheme: scheme: https permanent: true