使用 FreeBSD 构建容错反向代理

主要观点:通过在两台 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 专家,设置需研究参考相关资源,如多个视频和网站教程。
阅读 9
0 条评论