01-07 HAProxy 配置
核心目标
本目录下的 所有 *.cfg 必须可被 HAProxy 正确解析并符合文档意图。验证分两层:
| 层次 | 含义 | 如何验证 |
|---|---|---|
| ① 语法正确 | haproxy -c -f <cfg> 无致命错误 |
见下文「仅校验 cfg」或主验证脚本第 2 步 |
| ② 运行与后端 | 在 OpenWrt 上实际监听 18080/18443 时,经第三方主机 curl 可达 K3s/Traefik 后端 | ./scripts/01-07-verify-haproxy.sh(完整流程,含 curl) |
仓库内 frontend 已统一为 18080 / 18443(与 LuCI 的 80/443 分离);backend 仍指向各节点 80/443(Traefik 入口)。按环境修改 192.168.2.61~192.168.2.64。
仅校验本目录 cfg(不跑 curl)
仅需确认 ① 语法,在仓库根目录执行:
./scripts/01-07-verify-haproxy.sh --cfg-only
会将本目录全部 *.cfg 拷到 OpenWrt 的 /tmp/haproxy-verify/,对每台文件执行 haproxy -c(与 OpenWrt 上安装的 HAProxy 版本一致)。
说明:haproxy-https.cfg 含 ssl crt /etc/ssl/haproxy.pem;若路由器上没有该 pem,语法检查可能失败,脚本会标为 [SKIP]。在 OpenWrt 放置有效 pem 后应能通过 haproxy -c。
文件一览
| 文件 | 说明(对应 docs/01-07-openwrt-haproxy.md) |
|---|---|
haproxy-no-check.cfg |
§2 最简;§3.1 在其 server 行加 check |
haproxy-http.cfg |
§3.2 HTTP 健康检查(明文 80 后端) |
haproxy-tls.cfg |
§3.3 TLS 握手检查(443 后端,mode tcp) |
haproxy-https.cfg |
§3.4 HTTPS 应用层检查(需 HAProxy 终结 TLS,由 HAProxy 提供证书) |
haproxy-proxy-http-tls.cfg |
§5 PROXY + HTTP/TLS 检查 |
与 Ansible / OpenWrt
可与 Ansible 共用(复制到 OpenWrt 或通过 playbook 下发)。一键把 uhttpd 80/443 + HAProxy 18080/18443 落到路由器见 scripts/01-07-deploy-openwrt-haproxy.sh。