主要观点:通过在两台 FreeBSD 主机上设置 HAProxy 作为反向代理并使用 CARP 实现容错,即使一台主机故障仍能访问服务。
关键信息:
- 原使用 OPNsense 上的 HAProxy 作反向代理,后因防火墙更换为 Sophos XG 且其 WAF 不支持 IPv6 及申请通配符证书,选择 HAProxy。
- 需两台 FreeBSD 主机(物理机、虚拟机或 VNET jail),已设置好系统、用户、ssh 登录及 sudo/doas 权限,且设置好 DNS 主机名和 TLS 证书。
- 安装 CARP 需添加
carp_load="YES"
到/boot/loader.conf
并运行doas kldload carp
,设置 CARP VIPs 及相关网络参数,使用ifconfig
检查主备状态,确保 DNS 记录指向 CARP VIPs。 - 安装 HAProxy 用
doas pkg install -y haproxy
,创建配置文件/usr/local/etc/haproxy.conf
,包含前端和后端设置,检查配置错误,启动 HAProxy 用doas service haproxy enable && doas service haproxy start
,需放置有效 TLS 证书并注意安全。 - 运行防火墙如
pf
时,要在/etc/pf.conf
中允许 HTTP、HTTPS 和 CARP。
重要细节: - CARP 相关命令如
carp(4)
、doas(1)
等。 - HAProxy 配置中的各种参数及后端服务器设置。
- 防火墙规则中对不同协议和端口的设置。
- 强调不是 HAProxy 专家,设置需研究参考相关资源,如多个视频和网站教程。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。