You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

切换至HTTPS时Traefik出现Bad Gateway错误排查求助

问题排查与解决方案

核心问题分析

出现"Bad Gateway"说明Traefik无法将请求成功转发至后端FastAPI服务,结合你的配置,主要存在以下关键问题:

1. FastAPI服务未指定转发端口

你的api服务标签中缺少Traefik连接后端服务的端口配置——虽然容器暴露了80端口,但Traefik需要明确知道要将请求转发到这个端口。

2. Traefik Dashboard路由规则语法错误

traefik服务的dashboard路由规则中,PathPrefix(/)未闭合括号,导致规则解析失败。

3. 可选检查:容器网络连通性

默认情况下docker-compose会创建默认网络,但若有自定义网络配置,需确保Traefik与FastAPI服务处于同一网络。


修复后的配置

1. 更新docker-compose.yml中的api服务标签

添加端口指定标签,明确Traefik转发到容器的80端口:

api:
  image: toncinta/toncinta-python:chime
  container_name: toncinta-api-default
  expose:
    - 80
  labels:
    - "traefik.enable=true"
    - "traefik.http.routers.fastapi.rule=Host(`toncinta-api.com`)"
    - "traefik.http.routers.fastapi.tls=true"
    - "traefik.http.routers.fastapi.tls.certresolver=letsencrypt"
    # 指定后端服务端口
    - "traefik.http.services.fastapi.loadbalancer.server.port=80"
  stdin_open: true
  tty: true
  entrypoint: toncinta-api

2. 修复Traefik Dashboard的路由规则

修正括号不闭合的语法错误:

traefik:
  build:
    context: .
    dockerfile: Dockerfile.traefik
  ports:
    - 80:80
    - 443:443
  volumes:
    - "/var/run/docker.sock:/var/run/docker.sock:ro"
    - "./traefik-public-certificates:/certificates"
  labels:
    - "traefik.enable=true"
    # 闭合PathPrefix的括号
    - "traefik.http.routers.dashboard.rule=Host(`dashboard.toncinta-api.com`) && PathPrefix(`/`)"
    - "traefik.http.routers.dashboard.tls=true"
    - "traefik.http.routers.dashboard.tls.certresolver=letsencrypt"
    - "traefik.http.routers.dashboard.service=api@internal"

3. 验证FastAPI服务端口

确认uvicorn启动命令确实监听80端口:

uvicorn.run("api:app", host='0.0.0.0', port=80)

若代码未指定port参数,uvicorn默认会用8000端口,需将Traefik标签中的端口改为8000,或调整uvicorn启动端口为80。


验证步骤

  1. 重启所有容器:docker-compose down && docker-compose up -d
  2. 查看Traefik日志:docker logs <traefik-container-name>,确认无路由解析错误和后端连接错误
  3. 访问https://toncinta-api.com,检查服务是否正常响应

内容的提问来源于stack exchange,提问作者TONCINTA TRUST

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:52:41