Настройка: Docker (18.09.6) с одним контейнером Traefik, контейнером Apache, несколькими другими контейнерами (например, портье, работающими за подпутью)
Apache настроен с
- traefik.frontend.rule=Host:${hostname},www.${hostname}
Portainer настроен на
- traefik.frontend.redirect.regex=^(.*)/portainer$$
- traefik.frontend.redirect.replacement=$$1/portainer/
- "traefik.frontend.rule=PathPrefix:/portainer;ReplacePathRegex: ^/portainer/(.*) /$$1"
Контейнер Apache обслуживает URL https://hostname и, например, https://hostname/test
Контейнер Portainer подается через https://hostname/portainer
Настройка работает!
Теперь я хочу расширить субдомены для контейнера Apache, например
- traefik.frontend.rule=Host:${hostname},autoconfig.${hostname},autodiscover.${hostname},mta-sts.${hostname},www.${hostname}
Теперь происходит следующее:
https://hostname работы
https://hostname/test работает
https://autodiscover.hostname работает
https://hostname/portainer перестает работать
Согласно журналам Traefik направляет трафик в контейнер Apache вместо контейнера Portainer
Это может воспроизводиться и связано с несколькими записями веб-интерфейса. Я не нашел пример с более чем 2 правилами веб-интерфейса
также попробовал
- traefik.frontend.rule=Host:${hostname},Host:www.${hostname},Host:autoconfig.${hostname}
или
- traefik.frontend.rule=Host:${hostname};Host:www.${hostname};Host:autoconfig.${hostname}
это не сработало ...