traefik/traefik
GitHub: traefik/traefik
Traefik 是一款云原生应用代理,通过自动服务发现和动态配置让微服务流量管理变得简单高效。
Stars: 62278 | Forks: 5885
[](https://doc.traefik.io/traefik)
[](https://goreportcard.com/report/traefik/traefik)
[](https://github.com/traefik/traefik/blob/master/LICENSE.md)
[](https://community.traefik.io/)
[](https://twitter.com/intent/follow?screen_name=traefik)
Traefik(发音同 _traffic_)是一个现代化的 HTTP 反向代理和负载均衡器,可以让微服务的部署变得轻松简单。
Traefik 可以与您现有的基础设施组件([Docker](https://www.docker.com/)、[Swarm mode](https://docs.docker.com/engine/swarm/)、[Kubernetes](https://kubernetes.io)、[Consul](https://www.consul.io/)、[Etcd](https://coreos.com/etcd/)、[Rancher v2](https://rancher.com)、[Amazon ECS](https://aws.amazon.com/ecs) 等)集成,并自动且动态地完成自身配置。
将 Traefik 指向您的编排器应该是您唯一需要的配置步骤。
. **[概述](#overview)** .
**[功能特性](#features)** .
**[支持的后端](#supported-backends)** .
**[快速开始](#quickstart)** .
**[Web UI](#web-ui)** .
**[文档](#documentation)** .
. **[支持](#support)** .
**[发布周期](#release-cycle)** .
**[贡献](#contributing)** .
**[维护者](#maintainers)** .
**[致谢](#credits)** .
:warning: 当迁移到 Traefik 的新主要版本时,请参考 [迁移指南](https://doc.traefik.io/traefik/migrate/v2-to-v3/) 以确保平稳过渡,并了解任何破坏性的变更。
## 概述
想象一下,您在编排器(如 Swarm 或 Kubernetes)或服务注册中心(如 etcd 或 consul)的帮助下部署了一堆微服务。
现在您希望用户能够访问这些微服务,因此您需要一个反向代理。
传统的反向代理需要您配置每一条路由,以便将路径和子域连接到每一个微服务。
在一个每天都要多次添加、删除、销毁、升级或扩展服务的环境中,保持路由最新的任务变得非常繁琐。
**这正是 Traefik 大显身手的时候!**
Traefik 监听您的服务注册中心/编排器 API,并即时生成路由,从而使您的微服务与外部世界相连——无需您进一步干预。
**运行 Traefik,让它为您代劳!**
_(但如果您更愿意手动配置某些路由,Traefik 也支持!)_

## 功能特性
- 持续更新其配置(无需重启!)
- 支持多种负载均衡算法
- 通过利用 [Let's Encrypt](https://letsencrypt.org)(支持通配符证书)为您的微服务提供 HTTPS
- 熔断器、重试机制
- 通过其清爽的 Web UI 见证魔法
- WebSocket、HTTP/2、gRPC 就绪
- 提供指标(Rest, Prometheus, Datadog, Statsd, InfluxDB 2.X)
- 保留访问日志(JSON, CLF)
- 快速
- 暴露 Rest API
- 打包为单一二进制文件(用 :heart: 和 go 制作)并作为 [官方](https://hub.docker.com/r/_/traefik/) docker 镜像提供
## 支持的后端
- [Docker](https://doc.traefik.io/traefik/providers/docker/) / [Swarm mode](https://doc.traefik.io/traefik/providers/docker/)
- [Kubernetes](https://doc.traefik.io/traefik/providers/kubernetes-crd/)
- [ECS](https://doc.traefik.io/traefik/providers/ecs/)
- [File](https://doc.traefik.io/traefik/providers/file/)
## 快速开始
想要亲身体验 Traefik,您可以使用我们文档中的 [5 分钟快速开始](https://doc.traefik.io/traefik/getting-started/quick-start/)(您需要 Docker)。
## Web UI
您可以访问 Traefik 的简单 HTML 前端。

## 文档
您可以在 [https://doc.traefik.io/traefik/](https://doc.traefik.io/traefik/) 找到 Traefik v3 的完整文档。
## 支持
要获得社区支持,您可以:
- 加入 Traefik 社区论坛:[](https://community.traefik.io/)
如果您需要商业支持,请通过邮件联系 [Traefik.io](https://traefik.io):
。
## 下载
- 从 [发布](https://github.com/traefik/traefik/releases) 页面获取最新的二进制文件,并使用 [示例配置文件](https://raw.githubusercontent.com/traefik/traefik/master/traefik.sample.toml) 运行它:
```
./traefik --configFile=traefik.toml
```
- 或者使用官方的精简 Docker 镜像,并使用 [示例配置文件](https://raw.githubusercontent.com/traefik/traefik/master/traefik.sample.toml) 运行它:
```
docker run -d -p 8080:8080 -p 80:80 -v $PWD/traefik.toml:/etc/traefik/traefik.toml traefik
```
- 或者获取源代码:
```
git clone https://github.com/traefik/traefik
```
## 介绍视频
您可以在 [videos.traefik.io](https://videos.traefik.io) 上找到概览和深度解析视频。
## 维护者
我们大力提倡开放和共享的理念,坚决反对精英式的封闭做法。任何有动力并希望成为这段旅程一员的人,都应该能够加入核心团队!
这份 [文档](docs/content/contributing/maintainers-guidelines.md) 描述了如何成为 [维护者团队](docs/content/contributing/maintainers.md) 的一员,以及 Traefik 维护者的各项职责和准则。
您也可以在 [这份文档](https://github.com/traefik/contributors-guide/blob/master/issue_triage.md) 中找到有关我们审查 Pull Request 和管理 Issue 流程的更多信息。
## 发布周期
- 我们通常每年发布 3/4 个新版本(例如 1.1.0, 1.2.0, 1.3.0)。
- 发布候选版本会在正式发布前提供(例如 1.1.0 之前的 1.1.0-rc1, 1.1.0-rc2, 1.1.0-rc3, 1.1.0-rc4)。
- 错误修复版本(例如 1.1.1, 1.1.2, 1.2.1, 1.2.3)根据需要发布(这些版本不提供额外功能,仅包含错误修复)。
每个版本在下一个版本发布前都会得到支持(例如 1.1.x 将被支持直到 1.2.0 发布)。
我们使用 [语义化版本控制](https://semver.org/)。
## 邮件列表
- 通用公告、新版本发布:发送邮件至 news+subscribe@traefik.io 或访问 [在线查看器](https://groups.google.com/a/traefik.io/forum/#!forum/news)。
- 安全公告:发送邮件至 security+subscribe@traefik.io 或访问 [在线查看器](https://groups.google.com/a/traefik.io/forum/#!forum/security)。
## 致谢
感谢 [Peka](https://www.instagram.com/pierroks/) 在 Gopher Logo 上所做的出色工作!
Traefik 的 Gopher Logo 采用 Creative Commons 3.0 Attributions 许可证授权。
Traefik 的 Gopher Logo 灵感来自 [Takuya Ueda](https://twitter.com/tenntenn) 制作的 Gopher 贴纸。
最初的 Go Gopher 是由 [Renee French](https://reneefrench.blogspot.com/) 设计的。标签:API网关, Docker, EVTX分析, Go, Golang, Python工具, Ruby工具, Traefik, Web服务器, 动态配置, 反向代理, 子域名突变, 安全编程, 安全防御评估, 容器编排, 应用代理, 开源, 提示注入, 日志审计, 服务发现, 网络通信, 自动化配置, 自定义请求头, 请求拦截, 负载均衡, 路由, 边缘路由, 集群管理