HAProxy HTTP 与 TCP

mar*_*lar 18 haproxy

HAProxy 为您提供了将模式设置为 TCP 或 HTTP 的选项。它还允许您设置端口。

那么为什么允许我在 HTTP 和 TCP 之间进行选择,如果它也让我选择端口呢?当然,如果我想要 HTTP,我可以只选择 TCP 和端口 80?

为什么只有 TCP 和 HTTP?似乎暗示 HTTP 不是 TCP。为什么没有 TCP、HTTP、SNMP、FTP 等等等等。

为什么只是 HTTP 和 TCP?如果 HTTP 是 TCP,为什么要选择这两个选项中的任何一个?发现很混乱,真的很难找到任何关于负载均衡非http(s)服务的信息。

Pau*_*oon 30

通过在 HAProxy 配置中使用 HTTP 方法,您可以访问几个特定于 HTTP 的选项。例如,您可以根据 HTTP 请求中的 URL 选择不同的后端。指定 TCP 模式时,HAProxy 不会评估数据包中的 HTTP 标头。

因此,您绝对可以仅将 TCP 用于 HTTP 流量,但您不会有额外的 HTTP 选项。作为旁注,除非您使用 SSL 功能,否则您必须将 TCP 用于 HTTPS 流量,因为数据包已加密并且 HAProxy 无法查看 HTTP 标头。


mar*_*lar 6

有人就此写了一篇博文:http : //www.linickx.com/645/load-balance-anything-with-haproxy

无论如何,我不知道为什么维护 haproxy 的人使用他们选择的语法,我不太喜欢它,因为我发现它具有误导性(说某些东西可能是我大脑中的HTTPTCP 螺丝),但事实证明你可以使用 HAProxy 对任何内容进行负载平衡,如果不是 HTTP(s),则只需使用 TCP 和正确的端口号。