[英]Traefik intermittent 404 on docker-compose
我在 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
我在這里不知所措。 任何幫助將不勝感激。
到目前為止,我收到或發現的唯一建議是關於使用舊標簽或新標簽,這就是我發現的
image: traefik:v2.2
image: traefik:v2.2.1
image: traefik:v2.2.5
image: traefik:latest
昨天拉traefik:latest
后我遇到了類似的問題。 剛剛注意到圖像今天更新了,新的拉動解決了我的問題。
原來這是v2.2.2
上的一個錯誤。 請參閱此處了解更多信息。 例如,使用v2.2.5
來擺脫這個問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.