Tool
HAProxy
適合放在 Home Gateway 最外層的高效能 reverse proxy 與 load balancer,負責公開連線、TLS 與網域入口分流。
我在這套架構中怎麼使用
HAProxy 放在 Home Gateway 最外層,是從 Internet 進入家中服務的第一個 application-aware 入口。它先承接公開連線、處理 TLS,然後依 hostname 或 path 把流量送到正確的內部服務。
對 api.yihua.app 而言,HAProxy 的工作不是理解每一支 API,也不是決定要使用哪個 AI model;它只需要確認這個網域的流量應該轉給內部的 APISIX。其他公開網域則可以繼續由 HAProxy 送往各自的 web service。
Internet
│
▼
Home Gateway / HAProxy
├── api.yihua.app ──► APISIX
├── other.yihua.app ──► other service
└── ...
這讓 Home Gateway 的責任保持明確:管理公開入口與 L4 / L7 轉送,而不是把所有 API policy 和 LLM provider 邏輯都塞進同一份 HAProxy 設定。
和 APISIX 的差異
HAProxy 和 APISIX 都能做 reverse proxy、load balancing、TLS 與部分流量控制,但兩者在這套架構中的重心不同。
HAProxy 靠近網路邊界,適合處理多個網域與不同類型服務的共同入口。APISIX 則只接手 api.yihua.app 之後的 API traffic,集中處理 route、consumer authentication、rate limit、觀測與 API plugin。
如果只是幾個固定後端,HAProxy 本身可能已經足夠;但當 API 需要獨立的身分、quota、plugin 與動態 route 管理時,再交給 APISIX 會比持續擴張 edge proxy 設定更清楚。
不把它當成 LiteLLM 的替代品
HAProxy 可以把請求送到 LM Studio 或 OpenRouter,但它不負責把不同 AI provider 包裝成一致的 model API,也不理解 model alias、token usage、provider fallback 或每個 provider 的憑證格式。
因此 LLM traffic 仍然先經過 APISIX 的公共 API policy,再交給 LiteLLM 做 model-aware routing。
部署注意事項
- HAProxy 到 APISIX 之間要保留原始
Host、client IP 與 request ID,並明確設定可信任的 proxy hop。 - 若在 HAProxy 終止 TLS,Home Gateway 到 APISIX 的網段必須是可信任網路;否則應再次使用 TLS 並驗證後端憑證。
- 公網防護與粗粒度連線限制可放在 HAProxy,但 API consumer quota 應集中在 APISIX,避免兩層規則互相矛盾。
- HAProxy health check 只能證明下一個 hop 可連線;仍需另外驗證 APISIX route、LiteLLM 與實際 model backend。