Hi, here is the situation:
I'm able to redirect traffic from http to https on the Traefik dashboard.
I'm also able to redirect www -> non-www AND http -> https on a wordpress container.
The only part missing is redirecting www -> non-www on the traefik dashboard. Here is my config:
TRAEFIK:
command:
- "--log.level=${TRAEFIK_LOG_LEVEL}"
- "--accesslog=true"
- "--api.dashboard=true"
- "--api.insecure=true"
- --log.filepath=/var/log/traefik.log
- --accesslog=true
- --accesslog.filepath=/var/log/traefik-access.log
- --providers.docker.network=proxy
- "--ping=true"
- "--ping.entrypoint=ping"
- "--entryPoints.ping.address=:8082"
- "--entryPoints.http.address=:80"
- --entrypoints.http.http.redirections.entrypoint.to=https
- --entryPoints.http.http.redirections.entrypoint.scheme=https
- "--entryPoints.https.address=:443"
- "--providers.docker=true"
- "--providers.docker.endpoint=unix:///var/run/docker.sock"
- "--providers.docker.exposedByDefault=false"
- "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
- "--certificatesresolvers.letsencrypt.acme.email=${TRAEFIK_ACME_EMAIL}"
- "--certificatesresolvers.letsencrypt.acme.storage=/etc/traefik/acme/acme.json"
- "--metrics.prometheus=true"
- "--metrics.prometheus.buckets=0.1,0.3,1.2,5.0"
- "--global.checkNewVersion=true"
- "--global.sendAnonymousUsage=false"
labels:
- "traefik.enable=true"
- "traefik.http.routers.dashboard.rule=Host(`traefik.dev.domain.com`) || Host(`www.traefik.dev.domain.com`)"
- "traefik.http.routers.dashboard.entrypoints=https"
- "traefik.http.services.dashboard.loadbalancer.server.port=8080"
- "traefik.http.routers.dashboard.tls=true"
- "traefik.http.routers.dashboard.tls.certresolver=letsencrypt"
- "traefik.http.services.dashboard.loadbalancer.passhostheader=true"
- "traefik.http.routers.dashboard.middlewares=authtraefik"
- "traefik.http.middlewares.authtraefik.basicauth.users=${TRAEFIK_BASIC_AUTH}"
#following 4 lines do not work
- traefik.http.routers.dashboard.middlewares=redirect-to-non-www-dashboard
- traefik.http.middlewares.redirect-to-non-www-dashboard.redirectregex.regex=^https://www\.(.*)
- traefik.http.middlewares.redirect-to-non-www-dashboard.redirectregex.replacement=https://$${1}
- traefik.http.middlewares.redirect-to-non-www-dashboard.redirectregex.permanent=true
WORDPRESS:
labels:
- traefik.enable=true
- traefik.http.routers.my-website-frontend-https.rule=Host(`dev.domain.com`) || Host(`www.dev.domain.com`)
- traefik.http.routers.my-website-frontend-https.entrypoints=https
- traefik.http.routers.my-website-frontend-https.tls=true
- traefik.http.routers.my-website-frontend-https.tls.certresolver=letsencrypt
- traefik.http.routers.my-website-frontend-https.middlewares=redirect-to-non-www
- traefik.http.services.my-website-frontend-https.loadbalancer.server.port=8080
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
- traefik.http.middlewares.redirect-to-https.redirectscheme.permanent=true
- traefik.http.middlewares.redirect-to-non-www.redirectregex.regex=^https?://www.dev.domain.com/(.*)
- traefik.http.middlewares.redirect-to-non-www.redirectregex.replacement=https://dev.domain.com/$${1}
- traefik.http.middlewares.redirect-to-non-www.redirectregex.permanent=true
- "traefik.docker.network=traefik-network"
I'm using traefik:v3.3. Any idea ?
Summary
This text will be hidden