Я разработал несколько полнофункциональных веб-приложений, которые я пытаюсь перенаправить с помощью Traefik. Я хочу воспользоваться преимуществами динамической конфигурации с помощью ярлыков docker-compose. Я хотел бы применить опцию промежуточного программного обеспечения stripPrefix, чтобы я мог использовать ту же самую маршрутизацию приложений, как если бы каждое приложение обслуживалось в корне. Тем не менее, как только эти правила будут применены, это приведет к ответу 504 Gateway Timeout.
Вот мои настройки:
- Traefik 2.0.1
- Docker 19.03.2, Compose 1.24.1
- NGINX: последние изображения
- A
global
докерская сеть, в которой работает контейнер Traefik - Несколько мультиконтейнерных приложений, каждое из которых включает в себяВеб-сервер NGINX
- Все приложения имеют свои собственные сети
local
, а контейнеры NGINX также находятся в сети global
. - Каждое приложение настроено для прослушивания на
/
* 1022. *
Вот определение docker-compose.yml
для поврежденного контейнера NGINX:
nginx:
image: nginx:latest
container_name: "mps_nginx"
volumes:
- ./nginx/confs/nginx.conf:/etc/nginx/default.conf
- ./static:/www/static
restart: "always"
labels:
- traefik.http.routers.mps.rule=Host(`localhost`) && PathPrefix(`/mps`)
- traefik.http.middlewares.strip-mps.stripprefix.prefixes=/mps
- traefik.http.routers.mps.middlewares=strip-mps@docker
networks:
- default
- mps
Отягчающая сторона, когда я закомментирую метки middlewares
, работает нормально, но не можетнайдите соответствующий шаблон URL.
До этого я тестировал свой подход с использованием контейнера whoami
, определенного в Учебное пособие по быстрому старту Traefik :
# Test service to make sure our local docker-compose network functions
whoami:
image: containous/whoami
labels:
- traefik.http.routers.whoami.rule=Host(`localhost`) && PathPrefix(`/whoami`)
- traefik.http.middlewares.strip-who.stripprefix.prefixes=/whoami
- traefik.http.routers.whoami.middlewares=strip-who@docker
Aзапрос к http://localhost/whoami
возвратам (среди прочихнгс) GET / HTTP/1.1
.
Именно так я и ожидал, что мои подходы к маршрутизации будут работать для всех других моих приложений. Панель инструментов Traefik горит зеленым цветом для каждого промежуточного программного обеспечения, которое я регистрирую, и все же все, что я вижу, - это ошибки 504.
Если у кого-то есть какие-либо подсказки, я был бы искренне признателен.