什么使得nginx/apache成为Web服务器,而HAProxy不是?

3

为什么nginx/apache能作为Web服务器,而HAProxy不能?

HAProxy缺少哪些功能才能成为Web服务器?

1个回答

2
HAProxy可以监听端口80并使用HTTP协议,但这并不是人们所说的“Web服务器”的意思。
HAProxy不是Web服务器,因为“Web服务器”意味着一个HTTP终端可以从文件中服务静态内容和/或从代码生成动态内容。 这不是HAProxy的用途。
从技术上讲,HAProxy具有某些功能,可以被误用来模拟Web服务器的一些能力--您可以从内存缓冲区中提供非常小的静态文件,并使用可选的嵌入式Lua解释器生成小型动态响应--但其目的或设计并不是用作Web服务器。它是一个代理服务器--向客户端模拟Web服务器,并向其后面的真实后端Web服务器(s)模拟客户端--因为双向仿真通常是代理所做的事情。
在Nginx和Apache中,您可以指定一个根目录来服务文件,并指定要由像Perl、PHP、Python等语言运行的代码服务的路径。 但是在HAProxy中无法实现,因为它并不是为此而设计的。
Nginx和Apache都可以用作代理服务器,就像HAProxy一样。但是,HAproxy专门为代理和负载均衡而设计和优化,用于多个后端的代理和负载均衡,使用各种规则和算法选择后端... 实质上,HAProxy是HTTP请求的“中间路由器”,将其传递而不是响应它们。 它也可以代理和负载均衡依赖于TCP的非HTTP协议。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接