如何在traefik中解决404 eero。子域显示404,但公开端口工作正常

时间:2020-05-22 13:52:20

标签: docker-compose docker-swarm traefik portainer

我正在docker swarm环境中部署portainer和traefik。我可以使用域<canvas id="canvas" width="500" height="500"></canvas>来访问traefik仪表板。我也想代理portainer容器,但是当我按下traefik.example.com时,出现404错误。 traefik中的日志未显示有关击中该URL的任何信息

portainer.example.com

但是,当我使用端口号9000公开portainer并点击proxy_traefik.0.f5zxe8dngv29@dvc2 | time="2020-05-22T13:45:40Z" level=debug msg="allLabelsmap[:map[traefik.frontend.rule:Host(`traefik.shmmir.ml`) traefik.port:8080]]" proxy_traefik.0.f5zxe8dngv29@dvc2 | time="2020-05-22T13:45:40Z" level=debug msg="originLabelsmap[com.docker.stack.image:traefik:v1.7.16 com.docker.stack.namespace:proxy traefik.frontend.rule:Host(`traefik.shmmir.ml`) traefik.port:8080]" proxy_traefik.0.f5zxe8dngv29@dvc2 | time="2020-05-22T13:45:40Z" level=debug msg="allLabelsmap[:map[traefik.frontend.rule:Host(`traefik.shmmir.ml`) traefik.port:8080]]" proxy_traefik.0.f5zxe8dngv29@dvc2 | time="2020-05-22T13:45:40Z" level=debug msg="originLabelsmap[com.docker.stack.image:portainer/portainer com.docker.stack.namespace:portainer traefik.enable:true traefik.http.routers.portainer.entrypoints:http traefik.http.routers.portainer.rule:Host(`portainer.shmmir.ml`) traefik.http.routers.portainer.service:portainer traefik.http.services.portainer.loadbalancer.server.port:9000]" proxy_traefik.0.f5zxe8dngv29@dvc2 | time="2020-05-22T13:45:40Z" level=debug msg="allLabelsmap[:map[traefik.enable:true traefik.http.routers.portainer.entrypoints:http traefik.http.routers.portainer.rule:Host(`portainer.shmmir.ml`) traefik.http.routers.portainer.service:portainer] http.services.portainer.loadbalancer.server:map[traefik.port:9000]]" proxy_traefik.0.f5zxe8dngv29@dvc2 | time="2020-05-22T13:45:40Z" level=debug msg="Backend backend-portainer-web-http-services-portainer-loadbalancer-server: no load-balancer defined, fallback to 'wrr' method" proxy_traefik.0.f5zxe8dngv29@dvc2 | time="2020-05-22T13:45:40Z" level=debug msg="Backend backend-proxy-traefik: no load-balancer defined, fallback to 'wrr' method" proxy_traefik.0.f5zxe8dngv29@dvc2 | time="2020-05-22T13:45:40Z" level=debug msg="Configuration received from provider docker: {\"backends\":{\"backend-portainer-web-http-services-portainer-loadbalancer-server\":{\"servers\":{\"server-portainer-web-1-d30efeb58bae18c84b91c7662dd19a7a\":{\"url\":\"http://10.0.98.159:9000\",\"weight\":1}},\"loadBalancer\":{\"method\":\"wrr\"}},\"backend-proxy-traefik\":{\"servers\":{\"server-proxy-traefik-f5zxe8dngv29a259b42l1tu78-e19913f7535b25062e55b9f66b4c375b\":{\"url\":\"http://10.0.98.4:8080\",\"weight\":1},\"server-proxy-traefik-rm54k6hi3dbmzfl7udi83xhej-cb81f0e3dbaa25243ab90850c80dc1a5\":{\"url\":\"http://10.0.98.3:8080\",\"weight\":1}},\"loadBalancer\":{\"method\":\"wrr\"}}},\"frontends\":{\"frontend-Host-traefik-shmmir-ml-0\":{\"entryPoints\":[\"http\",\"https\"],\"backend\":\"backend-proxy-traefik\",\"routes\":{\"route-frontend-Host-traefik-shmmir-ml-0\":{\"rule\":\"Host(`traefik.shmmir.ml`)\"}},\"passHostHeader\":true,\"priority\":0,\"basicAuth\":null},\"frontend-http-services-portainer-loadbalancer-server-portainer-web-http-services-portainer-loadbalancer-server\":{\"entryPoints\":[\"http\",\"https\"],\"backend\":\"backend-portainer-web-http-services-portainer-loadbalancer-server\",\"routes\":{\"route-frontend-http-services-portainer-loadbalancer-server-portainer-web-http-services-portainer-loadbalancer-server\":{\"rule\":\"Host:portainer-web.traefik\"}},\"passHostHeader\":true,\"priority\":0,\"basicAuth\":null}}}" proxy_traefik.0.f5zxe8dngv29@dvc2 | time="2020-05-22T13:45:40Z" level=info msg="Skipping same configuration for provider docker" 时,我可以得到它的UI。因此,这意味着我的规则可能无效。这是我在Portainer服务中使用的标签

example.com:9000

和traefik服务的标签

      labels:
        - 'traefik.enable=true'
        - 'traefik.http.routers.portainer.entrypoints=http'
        - 'traefik.http.routers.portainer.rule=Host(`portainer.${DOMAIN}`)'
        # - 'traefik.http.routers.portainer_.entryPoints=websecure'
        - 'traefik.http.routers.portainer.service=portainer'
        - 'traefik.http.services.portainer.loadbalancer.server.port=9000'

我将它们放在同一网络上, labels: - traefik.enable=true - traefik.port=8080 - traefik.frontend.rule=Host(`traefik.${DOMAIN}`) #traefik.${DOMAIN}

traefik service

networks: - proxy - traefik-consul - traefik-docker

portainer service

PS:Traefik正在使用这张图片 networks: - proxy - portainer

我真的不明白。

0 个答案:

没有答案