Я пытаюсь настроить traefik в контейнере на docker хосте: Host: myserver.some.domain Traefik: v2.1.3 Docker Host: v19.03.8
Я хочу просмотреть Панель инструментов, когда я запрашиваю "http://myserver.some.domain/traefik", и дальнейшая навигация должна быть отражена в URL, как запрос первого URL и посадка на "http://myserver.some.domain/traefik/dashboard/# / ". Я экспериментировал с несколькими промежуточными программами:
- Path
- PathPrefix
- StripPrefix
Пока PathPrefix звучит как наиболее правильный выбор, но Я получаю "404 страница не найдена". На данный момент я выставил также порт 8080, чтобы я мог провести перекрестную проверку своих изменений (на http://myserver.some.domain: 8080 , что работает). Позже я хочу скрыть порт 8080 и позволить только маршрутизации на порт 80 работать.
My docker -compose.yml выглядит так:
version: "3"
services:
traefik:
image: traefik:2.1.3
container_name: 'traefik'
command:
# Enable DEBUG log for issue resolving
- "--log.level=DEBUG"
# Enable dashboard
- "--api.dashboard=true"
# Enable debug information in api
- "--api.debug=true"
# Allow api access on unsecure http requests
# Will be removed when SSL will be configured
- "--api.insecure=true"
# Default http port
- "--entrypoints.web.address=:80"
# Dashboard port
- "--entrypoints.traefik.address=:8080"
# Allow traefik to se other docker containers for dynamic routing
- "--providers.docker.endpoint=unix:///var/run/docker.sock"
# Hide containers without traefik configuration by default
- "--providers.docker.exposedByDefault=false"
# Use the container's configured network
# All containers use network "proxy", type "bridge"
- "--providers.docker.useBindportIP=false"
labels:
# Enable Traefik configuration for container
traefik.enable: "true"
# Use docker network "proxy"
traefik.docker.network: "proxy"
# Define http entrypoint
traefik.http.routers.traefik.entrypoints: "web"
# Proxy all requests which start with "/traefik"
traefik.http.routers.traefik.rule: "PathPrefix(`/traefik`)"
# # Proxy request on path "/traefik"
# traefik.http.routers.traefik.rule: "Path(`/traefik`)"
# Replace path prefix "/traefik" with "/"
traefik.http.routers.traefik.middlewares: "traefik_replacepath"
traefik.http.middlewares.traefik_replacepath.replacePath.path: "/"
# # Strip path prefix "/traefik" and force slash "/"
# traefik.http.routers.traefik.middlewares: "traefik_stripprefix"
# traefik.http.middlewares.traefik_stripprefix.stripprefix.prefices: "/traefik"
# traefik.http.middlewares.traefik_stripprefix.stripPrefix.forceSlash: "true"
# Define port for service
traefik.http.services.traefik.loadbalancer.server.port: "8080"
volumes:
# Allow traefik to see other containers
- "/var/run/docker.sock:/var/run/docker.sock"
networks:
- proxy
ports:
# Expose port 80 to handle web/http requests
- "80:80"
# For DEBUG: Expose port 8080 to see dashboard without routing
# Will be removed when default rounting is working
- "8080:8080"
networks:
proxy:
external: true
Кто-нибудь знает где я не прав?
С наилучшими пожеланиями, Дэвид