【问题标题】:Traefik intermittent 404 on docker-composedocker-compose 上的 Traefik 间歇性 404
【发布时间】:2020-07-13 05:21:21
【问题描述】:

我在 traefik 反向代理后面运行一堆服务。我已经测试了这些服务,它们工作得很好。问题是当涉及到 traefik 时,无论我与它们交互时都会遇到间歇性 404 错误。

其中一个服务公开了一个漂亮而简单的 REST api。消费代码必须重试所有请求。这是可控的。

其中一个服务公开了一个前端:如果我想使用前端,我必须不断刷新页面。这是一种真正令人敬畏的用户体验。

以下是我的撰写文件中的一些示例:

version: "2.1"

services:
  reverse-proxy:
    image: traefik:v2.2
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
    ports:
      - "8081:80"
      - "8082:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock


  api_service:
    image: its_just_a_flask_app

    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.configrouter1.rule=PathPrefix(`/config_backend/`) && (Method(`GET`) || Method(`POST`))"
      - "traefik.http.routers.configrouter1.middlewares=config-backend-auth@docker"
      - "traefik.http.middlewares.config-backend-auth.basicauth.usersfile=/config/usersfile"
      

  webserver:
    image: puckel/docker-airflow:with_a_few_lil_tweaks
    restart: always
    depends_on:
      - postgres # these exist and work fine
      - redis
    environment:
      - LOAD_EX=n
      - FERNET_KEY=stuff=
      - EXECUTOR=Celery
      - AIRFLOW__WEBSERVER__BASE_URL=http://webserver/airflow

    volumes:
      - ../orchistrator/dags/:/usr/local/airflow/dags
      - ./requirements.txt:/requirements.txt

    command: webserver
    healthcheck:
      test: ["CMD-SHELL", "[ -f /usr/local/airflow/airflow-webserver.pid ]"]
      interval: 30s
      timeout: 30s
      retries: 3

    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.aurflowrouter.rule=PathPrefix(`/airflow`)"
      - "traefik.http.routers.aurflowrouter.middlewares=airflow-basic-auth@docker"
      - "traefik.http.middlewares.airflow-basic-auth.basicauth.usersfile=/config/usersfile"
      - traefik.http.services.my-service.loadbalancer.server.port=8080

  • 如您所见,这两个都使用基本身份验证。删除身份验证无效
  • 删除网络服务器的运行状况检查无效
  • api调用api_service时,第一次调用经常失败,第二次调用总是成功
  • 访问气流前端时:第一个页面加载失败,之后成功。
  • 气流前端有一个按钮可触发 POST。 POST 返回一个 302 Found,然后重定向总是首先给我一个 404
  • 有时 Web 前端加载,但它所依赖的静态资源不加载,导致网站丑陋且无法使用。所以我发现自己经常刷新页面

我在这里不知所措。任何帮助将不胜感激。

我试过的Traefik标签:

到目前为止,我收到或发现的唯一建议是关于使用旧标签或新标签,这就是我发现的

image: traefik:v2.2
image: traefik:v2.2.1
image: traefik:v2.2.5
image: traefik:latest

【问题讨论】:

    标签: docker-compose http-status-code-404 traefik intermittent


    【解决方案1】:

    昨天拉traefik:latest 后我也遇到了类似的问题。 刚刚注意到图片今天更新了,新的 pull 解决了我的问题。

    【讨论】:

      【解决方案2】:

      原来这是v2.2.2 上的一个错误。有关更多信息,请参阅here。例如,使用v2.2.5 来解决这个问题

      【讨论】:

        猜你喜欢
        • 2019-10-05
        • 2020-02-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-05
        • 1970-01-01
        相关资源
        最近更新 更多