Чтобы настроить перенаправление с `www` на версию без `www` в Traefik, вам нужно убедиться, что ваш роутер настроен правильно и что редирект Middleware применяется. В вашем коде видно, что вы уже создали Middleware для редиректа, но отсутствует связка его с роутером. Давайте улучшим вашу конфигурацию, добавив необходимое соединение.
Вот пример, как вы можете это сделать:
```yaml
services:
traefik:
image: traefik:v3.3.5
container_name: traefik
command:
- "--api.dashboard=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.email=mymail@yandex.ru"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
- "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
labels:
- "traefik.enable=true"
# Middleware для редиректа с www на корень
- "traefik.http.middlewares.redirect-www-to-root.redirectregex.regex=^https?://www\\.(.+)"
- "traefik.http.middlewares.redirect-www-to-root.redirectregex.replacement=https://$1"
- "traefik.http.middlewares.redirect-www-to-root.redirectregex.permanent=true"
# Роутер для перенаправления www
- "traefik.http.routers.redirect-www.rule=Host(`www.traefik-server.mystudio.studio`)"
- "traefik.http.routers.redirect-www.middlewares=redirect-www-to-root"
- "traefik.http.routers.redirect-www.entrypoints=web,websecure"
# Основной роутер для вашего приложения
- "traefik.http.routers.myapp.rule=Host(`traefik-server.mystudio.studio`)"
- "traefik.http.routers.myapp.entrypoints=web,websecure"
- "traefik.http.routers.myapp.tls=true"
- "traefik.http.routers.myapp.tls.certresolver=myresolver"
```
Объяснение настроек:
1. **Middleware**: Мы создаем `redirect-www-to-root`, который выполняет редирект с `www` на корень.
2. **Роутер `redirect-www`**: Мы создаем отдельный роутер, который отвечает за перенаправление с `www`, связываем его с созданным Middleware и указываем, что он должен использовать как HTTP, так и HTTPS entrypoint.
3. **Основной роутер `myapp`**: Это ваш основной роутер для вашего приложения, который обслуживает запросы к версии без `www`.
С такой конфигурацией запросы к `http://www.traefik-server.mystudio.studio` будут редиректиться на `https://traefik-server.mystudio.studio` как и планировалось. Не забудьте после внесения изменений перезапустить контейнер Traefik.