HAProxy使您可以select将模式设置为TCP或HTTP。 它也允许你设置端口。
那为什么让我在HTTP和TCP之间进行select,是否让我select了端口呢? 当然,如果我想要HTTP,我可以selectTCP和端口80?
为什么只有TCP和HTTP? 这似乎意味着HTTP不是TCP。 为什么不能有TCP,HTTP,SNMP,FTP等等等等。
为什么只是HTTP和TCP? 为什么有这些选项,如果HTTP是TCP? 发现它非常混乱,而且很难find任何关于负载均衡非http服务的信息。
通过在HAProxyconfiguration中使用HTTP方法,您可以访问多个特定于HTTP的选项。 例如,您可以根据HTTP请求中的URLselect不同的后端。 在指定TCP模式时,HAProxy不会评估数据包中的HTTP标头。
所以,你绝对可以使用TCPstream量来处理HTTPstream量,但是你不会有额外的HTTP选项。 另外,除非使用SSLfunction,否则必须使用TCP进行HTTPS通信,因为数据包已encryption,并且HAProxy无法查看HTTP标头。
有人在这里写了一篇博文: http : //www.linickx.com/645/load-balance-anything-with-haproxy
无论如何,我不知道为什么维护haproxy的人使用他们select的语法,我不喜欢它,因为我发现它误导(说什么可以是HTTP 或 TCP与我的大脑螺丝钉),但事实certificate,你可以使用HAProxy来平衡任何事情,如果不是HTTP(s),那么就使用TCP和正确的端口号。