
Traefik · 现代化 HTTP 反向代理与负载均衡器 · 中文部署与使用全指南
项目仓库: https://github.com/traefik/traefik
开源协议:MIT · 实现语言:Go · 形态:单二进制 / 官方 Docker 镜像 · 默认端口:80(HTTP)、8080(Dashboard) · Provider:Docker / Swarm / Kubernetes / ECS / File · 证书:Let's Encrypt(支持通配符)
1 项目简介
Traefik(读作 "traffic",仓库名
traefik/traefik)是一个现代化 HTTP
反向代理与负载均衡器,让微服务部署变简单。它和你现有的基础设施组件(Docker、Swarm、Kubernetes、Consul、Etcd、Rancher、Amazon
ECS 等)集成,自动、动态地配置自己——把 Traefik
指向编排器,几乎就是唯一要做的配置步骤。
传统反向代理要为每个微服务手动配每条路由;在每天增删改服务的环境里,维护路由很烦。Traefik 监听服务注册表 / 编排器 API,即时生成路由,无需重启。
1.1 核心信息一览
| 项目项 | 内容 |
|---|---|
| 项目名称 | Traefik |
| 仓库地址 | github.com/traefik/traefik |
| 项目定位 | 现代化 HTTP 反向代理与负载均衡器 |
| 开源协议 | MIT |
| 实现语言 | Go(单二进制) |
| 端口 | 80(HTTP)、8080(Dashboard) |
| Provider | Docker / Swarm / Kubernetes / ECS / File |
| HTTPS | Let's Encrypt,支持通配符证书 |
| 文档 | doc.traefik.io/traefik(当前 v3) |
1.2 适用场景
- 容器化微服务环境,希望反向代理自动随容器上下线更新路由。
- 想自动签发 / 续期 HTTPS 证书。
- 想要 Web Dashboard 看路由、服务、中间件。
1.3 能力边界(官方口径)
- 持续动态更新配置,无需重启。
- 迁移到新 major 版本请先看 migration guide(如 v2→v3)。
2 功能特性
- 持续更新配置(不重启)。
- 多种负载均衡算法;断路器、重试。
- Let's Encrypt 自动 HTTPS(含通配符)。
- WebSocket / HTTP/2 / gRPC 就绪。
- 指标(Rest / Prometheus / Datadog / Statsd / InfluxDB 2.x)、访问日志(JSON / CLF)。
- Web Dashboard、REST API。
- 单二进制或官方小 Docker 镜像。
3 官方界面预览
封面为 Traefik 官方标识。Web UI(Dashboard)展示 Providers、路由、服务、中间件。
4 官方跳转链接汇总
| 类别 | 链接 | 说明 |
|---|---|---|
| 仓库主页 | https://github.com/traefik/traefik | 源码与 README |
| 官方文档 | doc.traefik.io/traefik | v3 完整文档 |
| 五分钟入门 | quick-start | 需 Docker |
| Release | releases | 二进制 |
| Docker 镜像 | hub.docker.com/_/traefik | 官方镜像 |
| 社区论坛 | community.traefik.io | 官方支持 |
5 前置要求
- Docker(快速入门)或 Kubernetes / Swarm 编排环境。
- 准备好要代理的服务域名。
6 方式一:Docker 快速启动(官方)
docker run -d -p 8080:8080 -p 80:80 \
-v $PWD/traefik.toml:/etc/traefik/traefik.toml \
traefik7 方式二:单二进制运行
# 从 releases 下载二进制,用示例配置启动
./traefik --configFile=traefik.toml
# 或从源码
git clone https://github.com/traefik/traefik8 配置项说明
- 配置来源(Provider):Docker / Swarm / Kubernetes / ECS / File。
- Docker 模式下通过容器标签(labels)定义路由、中间件、域名。
- HTTPS:配置 Let's Encrypt 证书解析器(challenge 方式、邮箱)。
- Dashboard:监听 8080,生产务必加鉴权。
9 常用运维命令
docker logs -f traefik
docker restart traefik
# Dashboard 查看实时路由与服务10 常见故障排查
- 路由不生成:确认 Provider 已启用(如 Docker),容器 labels 正确。
- 证书没签发:检查 Let's Encrypt challenge(80/443 可达、域名解析正确)、邮箱配置。
- Dashboard 裸奔:8080 生产环境务必加鉴权 / 只绑内网。
- 升级 v2→v3 报错:按官方 migration guide 迁移。
11 风险与合规说明
- MIT 许可;反向代理直接面向公网,Dashboard(8080)与 API 务必鉴权,不要裸露。
- 证书自动签发注意 Let's Encrypt 限流,测试用 staging 环境。
- 本文命令、端口来自官方 README 与文档,随版本可能调整,以 doc.traefik.io 为准。