HAProxy

可靠、高性能的 TCP/HTTP 负载均衡器

  镜像站点:主站
  语言:English

快速链接

最新消息
最新消息
描述
性能
可靠性
安全性
文档
GitHub 上的项目
下载源码 / 文档
软件包 / 镜像 / 发行版
在线演示
他们在用!
企业版功能
第三方扩展
商业支持
联系方式
外部链接
讨论
Slack 频道
邮件列表
编码风格
待解决问题
已知缺陷
签名密钥

HATop:Ncurses 界面
Herald:负载反馈代理
haproxystats:统计信息收集
基于 Alpine 的 Docker 镜像
基于 Debian 的 Docker 镜像
基于 RHEL 的 Docker 镜像
Debian/Ubuntu 软件包
性能软件包


网站服务使用
   HTTP 版本:
   传输协议:
   网络:

位访客在线
 
感谢您的支持!

最新版本

分支发布日期生命周期结束最新版本更新日志链接
3.4-dev ~2026年第二季度 2031年第二季度 (dev » LTS) 3.4-dev0 2025-11-26 git / web / dir / 公告
3.3 2025-11-26 2027年第一季度 (稳定版) 3.3.0 2025-11-26 git / web / dir / 公告 / bugs
3.2 2025-05-28 2030年第二季度 (LTS) 3.2.9 2025-11-21 git / web / dir / 公告 / bugs
3.1 2024-11-26 2026年第一季度 (稳定版) 3.1.10 2025-11-07 git / web / dir / 公告 / bugs
3.0 2024-05-29 2029年第二季度 (LTS) 3.0.12 2025-10-03 git / web / dir / 公告 / bugs
2.8 2023-05-31 2028年第二季度 (LTS) 2.8.16 2025-10-03 git / web / dir / 公告 / bugs
2.6 2022-05-31 2027年第二季度 (仅关键修复) 2.6.23 2025-10-03 git / web / dir / 公告 / bugs
2.4 2021-05-14 2026年第二季度 (仅关键修复) 2.4.30 2025-10-03 git / web / dir / 公告 / bugs
隐藏/显示已停止维护的版本

最新消息

2025年12月3日HAProxy Technologies 的性能软件包

    许多用户因几年前切换到 OpenSSL 3.x 而遭受了巨大的性能损失,这已不是什么新闻了。尽管使用 3.1-3.6 的情况不像 3.0 那样严重——并且我们正与 OpenSSL 团队积极合作以改善此情况——但对于大规模用户而言,放弃 OpenSSL 1.1.1 的代价仍然很高。我们也一直在使用 WolfSSL 和 AWS-LC 等替代方案,它们提供了出色的性能(甚至超越 OpenSSL 1.1.1),但两者都未被主流发行版打包。因此,HAProxy Technologies 决定为最新的 Debian、Ubuntu 以及即将推出的 RHEL 提供一套性能软件包,其中包含基于最新 AWS-LC 稳定版构建的最新 HAProxy 稳定版,AWS-LC 目前恰好是功能最全、用途最广的 OpenSSL 替代品。我们希望这能让高级用户不必在维护自己的软件包和依赖项或将服务器数量翻倍之间做出选择。

2025年11月26日HAProxy 3.3.0 发布

    此稳定版一如既往地在性能、可靠性和可观测性方面取得了显著进步。主要亮点包括:实验性的 QUIC 后端支持以提高互操作性,重载时持久化统计数据以实现不间断监控,以及集成 KTLS 以实现零拷贝 TLS 数据传输。默认负载均衡算法现已切换为轻量级的“random(2)”以提高可伸缩性,同时通过自动“performance”策略、每线程组计数器和减少锁(尤其是在 stick-table 和 peer 中)来提升 CPU 性能。ACME 已得到改进,支持自动生成证书、通过数据平面 API 支持 DNS-01 挑战,并新增了证书转储脚本。通过 TLS ECH 允许客户端加密 SNI,从而改善了用户隐私。一些长期弃用的关键字已被移除,同时会检测并警告更多的配置陷阱。与往常一样,这个简短的总结遗漏了很多内容,因此最好阅读 HAProxyTech 博客上的详细信息以及邮件列表公告

2025年6月24日HAProxy 3.2.0 发布

    此 LTS 版本在许多方面都有所改进。首先,为在具有多核的大型 CPU 上更好地扩展,进行了许多改进。负载均衡算法、队列、stick-table 和 peer 现在都支持线程组,并将减少它们在不同 CPU 组之间的共享,并且由于新的 CPU 绑定策略,这些组现在可以自动形成以匹配硬件拓扑。传出连接现在可以从另一个线程组中选择一个空闲连接,而不是创建新连接,从而实现更高的 TCP 重用率和更低的资源使用率。内存池的合并更加智能,有助于减少内存使用。由繁重配置引起的延迟已进一步减少。各种 HTTP 改进,例如使用 PING 帧检查空闲连接、丢弃 trailer 的规则、在空闲连接上进行健康检查,以及改进了 H2 和 H3 处理的收敛性。由于多个“bind”行共用的 ssl-f-use 规则,SSL 的配置更容易,并初步支持用于证书续订的 ACME 协议。QUIC 的 pacing 现在性能非常高且默认启用,QUIC rx 缓冲区会自动调整大小以支持快得多(30 倍)的上传,并且 Tx 内存大小现在可以设定上限,同时调整以匹配最大链路速度。支持 OpenSSL 3.5 的 QUIC API。Lua 支持接收超时和排队事件,允许实现交互式应用程序(提供了一个游戏作为示例)。并且进行了许多改进以帮助进行实时故障排查(CLI、故障计数器描述、各种新的“show”命令)。最好阅读 HAProxyTech 博客上的详细信息以及邮件列表公告

2025年2月26日HAProxyConf 2025 早鸟注册

旧闻...

描述

HAProxy 是一款免费、非常快速且可靠的反向代理,为 TCP 和基于 HTTP 的应用程序提供高可用性负载均衡和代理服务。它特别适用于流量极高的网站,并为世界上访问量最大的网站中的很大一部分提供支持。多年来,它已成为事实上的标准开源负载均衡器,现在大多数主流 Linux 发行版都附带它,并且通常默认部署在云平台中。由于它不自我宣传,我们只有在管理员报告使用它时才知道 :-)

HAProxy 核心团队并行维护多个版本。自 1.8 版本以来,每年都会发布两个主要版本。第一位数字通常表示重大变更(配置格式等),但实际上很少改变。第二位数字表示新功能。这两者构成一个分支。这些数字之后还会有一个额外的数字,表示错误修复版本。

核心团队投入了大量精力将修复程序向后移植到旧版本,同时非常小心地避免破坏任何东西。因此,在一个分支内保持最新非常重要,即最后一位数字尽可能大。

版本号为偶数的分支被称为“LTS”(“长期支持”),在其发布后维护 5 年。在此期间,它们将收到发布后发现的错误的修复。这些分支面向追求极致稳定性、不希望过于频繁地验证新版本但仍希望接收修复的普通用户。

版本号为奇数的分支仅被称为“稳定版”,它们面向技术娴熟的用户,这些用户更喜欢经常升级以受益于现代功能,并且在出现问题时能够回滚。这些版本的维护时间在 12 到 18 个月之间。这个时间很短且特意不严格,以便根据用户反馈决定维护周期,并使这些版本不会最终出现在嵌入式产品中。如果需求合理且操作被认为风险足够小,可能会将一些功能向后移植到这些版本。

每个处理过生产环境的人都知道,当需要计划和向上级通报任何操作时,现场升级组件是很困难的。因此,HAProxy 核心团队不坚持要求用户升级,不会要求某人切换到新分支(除非他们要求该分支中的某个功能),但通常会要求用户在报告问题前使用其分支的最新版本重新检查,因为没有人喜欢第二次排查同一个问题。通常建议使用操作系统自带的版本,只要它遵循官方维护周期。根据预期的稳定性或风险暴露程度,一些用户可能希望在更新可用时立即更新,而另一些用户可能更愿意等待几周到一个月,以确保更新对他们来说足够可靠。

以下是每个主要版本变更的简要历史

  • 3.3 版本:后端 QUIC、持久化统计数据、更无缝的 ACME、内核 TLS+拼接、TLS ECH、性能和可观测性改进
  • 3.2 版本:ACME 和 SSL 管理、改进的 CPU 可伸缩性、QUIC 性能、改进的故障排查
  • 3.1 版本:故障排查、改进的配置可靠性、改进的 QUIC 和 H2 性能、新的 SPOE 引擎、更精细的错误报告
  • 3.0 版本:crt-store、持久化统计数据、syslog 负载均衡、JSON&CBOR 日志编码、虚拟 map 和 acl、从缓存中零拷贝、H2/H3 协议级保护
  • 2.9 版本:反向 HTTP、日志后端、零拷贝转发、减少内存使用、增加带宽、更好的通用可伸缩性、AWS-LC 支持、QUIC openssl 兼容层、PROXY 协议操作
  • 2.8 版本:QUIC 现已达到生产就绪、基于 Lua 的邮件程序、OCSP 自动更新、LetsEncrypt、wolfSSL 支持、RFC7239 "forwarded"、监听器支持超过 64 个线程、性能/可用性/可靠性/可观测性改进

隐藏/显示更早的版本 ...

性能

在 AWS 基于 ARM 的 Graviton2 上进行的测试所示,HAProxy 在多线程下扩展性非常好,并被证明能够通过 SSL 达到每秒 200 万次请求,转发流量达到 100 Gbps。

这得益于其事件驱动的架构,使其能够极快地响应 I/O 事件;其在 SMP 机器上通过轻量级多线程实现的并行性;一个在低延迟和高吞吐量之间不断平衡的任务调度器;以及在每个架构层面上对资源节约的持续追求。这些努力在开发时间上花费了一些成本,但用户立即感受到了价值,他们能够在一次又一次的升级后减少机器数量。对于绝大多数常见负载,HAProxy 进程根本不会被注意到,这往往让其用户忘记了它的存在,有时会导致关于极旧版本的问题。

请查阅此部分以获取有关架构细节和一些性能测试结果的更多信息。

可靠性 - 自 2002 年以来一直保持高流量网站在线

HAProxy 首先以其极其稳健而闻名。核心团队的开发人员可能会对自己修复的某些错误感到恼火,但这是因为他们的工作是看到所有这些错误。大多数用户报告称从未遇到过任何一次崩溃,并声称 HAProxy 是他们基础设施中最坚固的部分。找到 HAProxy 进程已运行超过 3 年的机器一点也不稀奇!

不过,这一切并非偶然。我们在这方面付出了大量努力,以提供对正在发生的事情的出色可观测性,以及对不良行为的惊人数量的保护措施。HAProxy 内置了许多对不可接受情况(不可能的条件、无限循环等)的检查,这些情况在其他产品中可能导致服务中断或数据损坏,但在 HAProxy 中会立即导致崩溃并转储问题。这种严谨得到了回报,因为大多数用户从未遇到过这样的问题,这要感谢那些遇到问题并提供了有用报告、帮助及早修复问题的少数人。

开发过程也鼓励高质量,并采用长期维护周期:版本由编写新功能的同一批开发人员维护 5 年。这鼓励他们编写高质量的代码和符合最高标准的提交信息。所有开发人员在开发过程中和合并代码前都会使用并运行一个回归测试套件,并且之后借助持续集成(CI)系统在各种平台上运行。

“吃自己的狗粮”原则在这里同样适用:haproxy.org 运行在最新的开发版本上。这通常有助于在每个主要版本发布前发现一两个错误。但此外,它还给开发团队带来了持续的压力,要求他们发布自己有信心的东西。

该程序从早期设计开始就非常保守地使用资源,因此在启动时会计算大量设置,并对套接字、连接、流等的数量强制执行许多限制,从而保证任何已开始的处理都将完成。

安全性 - 默认强化

在部署软件负载均衡器时,安全性是一个非常重要的问题,因为它运行在网络边缘,接收所有肮脏的流量。可以强化操作系统,限制开放端口和可访问服务的数量,但负载均衡器本身仍然暴露在外。统一且不花哨的编码风格旨在避免在编写或审查代码时常见的陷阱。在处理未验证数据时,追求一些高标准。避免或替换非可移植的函数和行为不可靠的函数。输入数据在底层很早就被清理。资源使用受到仔细控制。通过仔细的释放函数,代码中禁止出现悬空指针。这些标准已经帮助消除了代码本身的大量不确定性。

由于零错误是不合理的,该产品采取了许多防御措施,例如 chroot、权限降级、禁止 fork、严格的协议验证、对不可能状态的检查以及在检测到违规情况下的详细跟踪等。所有这些通常会导致利用真实错误的尝试失败或可能崩溃。这些措施必须由用户使用足够有说服力的命令来特意禁用,以便定期质疑这样做的原因。

完整下载矩阵

在这里,您将找到按类型和版本快速访问可下载内容的途径。只需单击所需的格式即可访问该格式的内容。

dev3.33.23.13.02.92.82.72.62.52.42.32.22.12.01.91.81.71.61.51.41.31.21.11.0
Git 仓库 Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web Git / Web
最新快照 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz tar.gz -
最新发布 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 tar.gz / 日志 -
可浏览目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录
已知缺陷 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站 网站
入门指南 html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt - - - - - -
配置手册 html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt txt txt txt txt
管理指南 html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt - - - - - -
Lua 参考手册 html html html html html html html html html html html html html html html html html html html - - - - - -
Lua 架构指南 html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt html / txt
可浏览文档 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录 目录

请注意,官方文档是纯文本格式,直接来自项目,但由 Thierry Fournier 维护的 Lua 参考手册除外。HTML 版本是由 Cyril Bonté 出色的文档转换器 dconv 从文本版本自动转换而来的。Pavel Lang 也为 1.4 和 1.5 版本创建了一个能够生成 PDF 的面向 TeX 的变体,但已不再维护。

商业支持和可用性

如果您认为自己没有时间和技能来设置和维护一个免费的负载均衡器,或者如果您正在寻求商业支持以满足您的客户或老板,您有以下选择:

  1. 联系 HAProxy Technologies 聘请专业服务或订阅支持合同;
  2. 安装 HAProxy 企业版负载均衡器,这是一个长期维护的 HAProxy 软件包,附带一套精心打磨的软件、脚本、配置文件和文档,显著简化了完全可操作解决方案的设置和维护;它特别适用于需要快速部署的云环境
  3. 尝试 ALOHA 设备(硬件或虚拟),这将使您无需担心系统、硬件以及管理类 Unix 系统。
我还认为有必要表扬 Loadbalancer.org。我与他们没有任何关联,但和我们一样,他们为项目贡献了相当多的时间和金钱来增加新功能,并且他们在邮件列表上帮助用户,所以我对他们的工作表示敬意。他们是一家英国公司,他们的负载均衡器也使用 HAProxy,尽管它与 ALOHA 有些不同。

联系方式

如有任何问题或意见,请随时联系我们

有些人经常问是否可以捐款,所以我为此设立了一个 Paypal 账户。如果您想捐款,请点击这里

Libera.Chat 上已为 HAProxy 开设了一个 IRC 频道

HAProxy 也有一个 Slack 工作区