跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言

HAProxy 负载均衡基础与配置示例

HAProxy 是一款支持 L4/TCP 与 L7/HTTP 的高性能负载均衡软件,常用于反向代理、健康检查、会话保持和 HTTPS 转发。文章给出了一份基础配置示例,解释了 global、defaults、frontend、backend 各段的作用,以及 maxconn、timeout、check、inter、fall 等关键参数的含义,适合快速理解 HAProxy 的入门配置思路。

ahui996发布于 2018/10/23更新于 2026/10/2681 浏览
HAProxy 负载均衡基础与配置示例
HAProxy

HAProxy 是一款免费的负载均衡软件,能够运行在大多数主流 Linux 发行版上。它同时支持 L4(TCP)和 L7(HTTP)两层负载均衡,功能完整,配置也相当灵活。更重要的是,它在性能和稳定性上都很能打,很多场景里已经足够替代商用负载均衡器。

HAProxy 的核心能力
  • 负载均衡:支持 L4 和 L7 两种模式,常见算法包括 RR、静态 RR、LC、IP Hash、URI Hash、URL_PARAM Hash、HTTP_HEADER Hash 等。
  • 健康检查:支持 TCP 和 HTTP 两种检查方式,能比较可靠地判断后端服务是否可用。
  • 会话保持:对于没有做会话共享的应用集群,可以通过 Insert Cookie、Rewrite Cookie、Prefix Cookie,以及多种 Hash 方式来维持会话一致性。
  • SSL 处理:HAProxy 可以解析 HTTPS,请求解密后再转发给后端 HTTP 服务。
  • HTTP 请求重写与重定向:适合做入口层的规则控制。
  • 监控与统计:自带基于 Web 的统计页面,可以查看健康状态和流量数据,也便于进一步接入监控系统。
配置示例

下面这段配置展示了一个最基础的 HTTP 反向代理场景:前端监听 8080 端口,把请求转发到后端 servers 组中的一台机器。

global
    maxconn 2048          # 最大同时连接数

defaults
    mode http             # 使用 HTTP 模式
    timeout connect 15000ms  # 连接后端超时 15s
    timeout client 15000ms   # 客户端响应超时 15s
    timeout server 15000ms   # 后端响应超时 15s
    balance roundrobin    # 负载均衡策略

frontend http-in          # 前端服务 http-in
    bind *:8080           # 监听 8080 端口
    default_backend servers  # 请求转发到名为 servers 的后端服务

backend servers           # 后端服务 servers
    server server1 192.168.10.25:7010 maxconn 128 check inter 2000 fall 2

这段配置里有几个地方值得注意。

global 和 defaults 是最常见的基础段,前者放全局参数,后者放通用默认值。mode http 决定了 HAProxy 按 HTTP 代理来工作;如果你的业务是纯 TCP 转发,写法会不一样。

timeout connect、timeout client、timeout server 这几个值一定要结合实际业务来调。时间太短,慢请求会被误判;时间太长,又容易把异常连接拖住。真实环境里,很多问题并不是'HAProxy 不行',而是超时时间和后端服务特性没对齐。

后端这一段只有一台服务器,check 表示开启健康检查,inter 2000 表示每 2 秒检查一次,fall 2 表示连续失败 2 次就判定为不可用。maxconn 128 则限制了单个后端实例的最大并发连接数,避免某一台机器被压得太狠。

如果你要把它扩展成真正的生产配置,通常还会继续补上更多后端节点、日志参数、统计页面、ACL 规则以及更细的健康检查逻辑。

目录

  1. HAProxy
  2. HAProxy 的核心能力
  3. 配置示例

更多推荐文章

查看全部
  • OpenClaw 完全指南:开源 AI 助手部署与配置
  • ToClaw:不只是炫技 AI,更是易用的桌面工具
  • Python 网络爬虫技术详解:原理、实战与最佳实践
  • 强化学习基础:动态规划算法原理与实现
  • Trae AI IDE 实战:使用 Trae 开发 AI Chatbot 应用
  • 云开发 Copilot:AI 驱动的低代码开发实践
  • 数据结构初阶详解线性表之队列
  • 基于Python+OpenCV实现自动扫雷
  • HarmonyOS RcList 组件事件处理机制与应用示例
  • 数据结构:顺序表原理与实现
  • C++ 核心特性详解:函数重载、引用、内联函数、auto 与 nullptr
  • WebSocket 客户端实践:重连、心跳与可靠通信
  • 鸿蒙应用性能优化与原生合规实践
  • 2026 年高校 AIGC 检测新规解读:AI 率合格标准分析
  • 光伏产品缺陷检测 AI 深度学习算法技术方案
  • AI+ 游戏开发:使用 DeepSeek 构建贪吃蛇游戏
  • Linux 部署阿波罗全局配置中心实战指南
  • 大模型技术详解:定义、架构与应用
  • 基于 Ollama、Llama3.1 与 Open WebUI 搭建本地大模型环境
  • ES6 新特性详解:进制、Symbol 与 Class

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online