参考资料
- Source Mage是一个基于源代码的Linux发行版,采用类似BSD Ports的包管理系统
- Hy(Hylang)是一种基于 Python 的 Lisp 方言,允许开发者使用 Lisp 语法编写代码
- Composer 是 PHP 的依赖管理工具
- Hello-World 是一个最简单的 Docker 镜像
- HAProxy 是一个高性能的 TCP/HTTP 负载均衡器和代理服务器
- Eclipse Temurin 是一个由 Adoptium 社区维护的开源 Java SE 发行版
- Hola-Mundo 是一个开源项目,通常用作示例或模板项目
- Silverpeas 是一个开源的企业协作平台
HAProxy 简介
HAProxy 是一个高性能的 TCP/HTTP 负载均衡器和代理服务器,广泛用于高可用性、负载均衡和反向代理场景。
特点
- 高性能:支持高并发连接,低延迟。
- 多种协议支持:支持 HTTP、HTTPS、TCP、WebSocket 等。
- 负载均衡算法:支持轮询、最小连接、源 IP 哈希等多种算法。
- 健康检查:自动检测后端服务器状态。
- SSL/TLS 终止:支持 SSL 解密和加密。
- ACL 规则:灵活的访问控制列表。
- 开源免费:社区版功能丰富。
最新更新内容及时间
- 最新版本: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
常用错误问题
- 503 Service Unavailable:后端服务器不可用或健康检查失败。
- Connection refused:后端服务器未运行或防火墙阻止。
- SSL 证书错误:证书配置不正确或过期。
- 性能瓶颈:
maxconn 设置过低或系统资源不足。
- 配置语法错误:使用
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