参考资料

  1. Docker/DockerHub 国内镜像源/加速列表
  2. docker安装详细说明以及案例
  3. docker安装openwrt详细说明以及案例
  4. Alpine Linux 是一个轻量级的 Linux 发行版
  5. phpMyAdmin 是一个用 PHP 编写的免费开源工具
  6. Gazebo是一款开源机器人模拟器
  7. Jobber 是一个轻量级的任务调度工具
  8. Docker Desktop的安装步骤

HAProxy 简介

HAProxy 是一个高性能的 TCP/HTTP 负载均衡器和代理服务器,广泛用于高可用性、负载均衡和反向代理场景。

特点

  1. 高性能:支持高并发连接,低延迟。

  2. 多种协议支持:支持 HTTP、HTTPS、TCP、WebSocket 等。

  3. 负载均衡算法:支持轮询、最小连接、源 IP 哈希等多种算法。

  4. 健康检查:自动检测后端服务器状态。

  5. SSL/TLS 终止:支持 SSL 解密和加密。

  6. ACL 规则:灵活的访问控制列表。

  7. 开源免费:社区版功能丰富。

最新更新内容及时间

  • 最新版本:2.8.3(截至 2023 年 10 月)

  • 更新内容

    • 修复了多个安全漏洞。

    • 改进了 HTTP/2 支持。

    • 优化了内存管理。

镜像下载地址

官网地址

文档地址

Docker 安装示例

docker run -d --name haproxy -p 80:80 -p 443:443 -v /path/to/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg haproxy:latest

YAML 设置教程

HAProxy 通常使用 .cfg 文件配置,但可以通过工具转换为 YAML。示例配置:

global:
  daemon: true
  maxconn: 4000

defaults:
  mode: http
  timeout connect: 5000ms
  timeout client: 50000ms
  timeout server: 50000ms

frontend http_front
  bind *:80
  default_backend http_back

backend http_back
  balance roundrobin
  server server1 192.168.1.1:80 check
  server server2 192.168.1.2:80 check

常用错误问题

  1. 503 Service Unavailable:后端服务器不可用或健康检查失败。

  2. Connection refused:后端服务器未运行或防火墙阻止。

  3. SSL 证书错误:证书配置不正确或过期。

  4. 性能瓶颈maxconn 设置过低或系统资源不足。

  5. 配置语法错误:使用 haproxy -c -f /path/to/config.cfg 检查配置。

示例配置文件(haproxy.cfg)

global
    daemon
    maxconn 4000

defaults
    mode http
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

frontend http_front
    bind *:80
    default_backend http_back

backend http_back
    balance roundrobin
    server server1 192.168.1.1:80 check
    server server2 192.168.1.2:80 check