Можно ли использовать субдомен подстановочного знака, который не включает в себя определенный субдомен?
*.mydomain.com OK
login.mydomain.com SKIP
Я не могу получить доступ к своему контейнеру входа в систему при использовании подстановочного знака в моем контейнере приложения.Ниже приведено изображение того, чего я пытаюсь достичь.(технически логотип трафика должен находиться между списком маршрутов и контейнерами)
Следующая конфигурация не работает, если включено правило HostRegexp:{subdomain:[a-z]+}.${HOST_DOMAIN}
.
Эта конфигурация успешно работает после удаления регулярного выражения хоста для всего, кроме подстановочных поддоменов.
services:
traefik:
image: traefik
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- .traefik.toml:/etc/traefik/traefik.toml:ro
ports:
- "80:80"
- "443:443"
api:
image: my-api-image
labels:
- "traefik.enable=true"
- "traefik.port=80"
- "traefik.frontend.rule=Host:app.${HOST_DOMAIN}; PathPrefix: /api"
app:
image: my-app-image
labels:
- "traefik.enable=true"
- "traefik.port=80"
- "traefik.frontend.rule=Host:app.${HOST_DOMAIN}"
- "traefik.frontend.rule=HostRegexp:{subdomain:[a-z]+}.${HOST_DOMAIN}" # this second rule overwrites the first rule and I am aware of that, I am just showing what rules i've tried :)
login:
image: my-login-image
labels:
- "traefik.enable=true"
- "traefik.port=80"
- "traefik.frontend.rule=Host:login.${HOST_DOMAIN}"
Моя проблема в настоящее время связана с контейнером app
.Я получаю плохой шлюз, если у меня есть следующее, включенное в качестве правила внешнего интерфейса:
"traefik.frontend.rule=HostRegexp:{subdomain:[a-z]+}.${HOST_DOMAIN}"
Я также попытался оставить вышеупомянутое в приложении и удалить следующее без всякой удачи:
"traefik.frontend.rule=Host:app.${HOST_DOMAIN}"
Любые предложения или идеи будут оценены.Спасибо.
Редактировать:
Переписать это немного.