题 HAProxy HTTP与TCP


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

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

为什么只有TCP和HTTP?这似乎意味着HTTP不是TCP。为什么不拥有TCP,HTTP,SNMP,FTP等等。

为什么只是HTTP和TCP?如果HTTP是TCP,为什么有这两个选项?发现它非常混乱,很难找到有关负载平衡非http服务的任何信息。


14
2017-07-09 15:07






答案:


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

因此,您绝对可以只使用TCP进行HTTP流量,但是您没有其他HTTP选项。另外,除非您使用SSL功能,否则必须使用TCP进行HTTPS流量,因为数据包已加密且HAProxy无法查看HTTP标头。


24
2017-07-19 15:25



谢谢。这真的有助于我理解这一切。干杯。 - marflar


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

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


5
2017-07-09 16:12



HTTP是传输层的TCP,因此整个应用程序只是TCP,具有一些HTTP专用。顺便说一句,好的联系。 - Signus