Введение в посредники Traefik в Docker
Маршрут только выбирает контейнер, а пароль, заголовок и сжатие к нему добавляют отдельно. Такие шаги называют посредниками: они стоят между роутером и сервисом и меняют запрос или ответ по правилам. На один маршрут можно повесить цепочку из нескольких посредников через метку роутера.
Имя посредника задают в метке с префиксом traefik.http.middlewares, а к роутеру его привязывают строкой traefik.http.routers.<имя>.middlewares.
Описание посредника и маршрута часто пишут на том же сервисе, что и сайт.
Traefik подхватывает обе части через провайдер Docker, как и обычное правило Host.
Базовая авторизация спрашивает имя и пароль до отдачи страницы. Заголовки ответа дописывают поля, которых у nginx или whoami в ответе не было. Сжатие уменьшает тело ответа на стороне прокси, если браузер принимает сжатый формат.
Отрезание префикса убирает папку из пути перед передачей запроса в контейнер, когда снаружи адрес содержит /api, а приложение ждёт корень.
Панель Traefik выводят на отдельное локальное имя с сервисом api@internal, без флага, который открывает API на всех интерфейсах.
В учебных файлах нет Let's Encrypt и HTTPS.
Образ traefik:3 в примерах раздела слушает web на 80, провайдер Docker включён, автопубликация выключена, сокет смонтирован только на чтение.
Сайты на nginx и traefik/whoami не получают своей пары ports на компьютер.
Проверка идёт по адресам *.localhost без номера порта в строке.
Каждый урок раздела повторяет полное описание прокси в файле compose.yaml и разбирает один посредник.
Служба Docker на компьютере должна быть запущена до команды docker compose up -d.
Приём можно повторить в отдельной папке с тем же образом прокси.