【问题标题】:What makes nginx/apache a web server, HAProxy not?是什么让 nginx/apache 成为 Web 服务器,而不是 HAProxy?
【发布时间】:2018-04-18 02:21:20
【问题描述】:

是什么让 nginx/apache 成为 web 服务器,而不是 HAProxy?

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

【问题讨论】:

    标签: apache http nginx web haproxy


    【解决方案1】:

    HAProxy 可以侦听端口 80 并且可以使用 HTTP,但这并不是人们所说的“网络服务器”的意思。

    HAProxy 不是网络服务器,因为“网络服务器”意味着一个 HTTP 端点,它可以提供来自文件的静态内容和/或从代码生成的动态内容。这不是 HAProxy 的用途。

    从技术上讲,HAProxy 中的某些功能可能被误用以模拟 Web 服务器的某些功能——您可以从内存缓冲区提供非常小的静态文件,并且可以使用生成小的动态响应可选的嵌入式 Lua 解释器——但它并非旨在或设计为用作 Web 服务器。它是一个代理服务器——向客户端模拟 Web 服务器,向其背后的真实后端 Web 服务器模拟客户端——因为双向模拟通常是代理所做的。

    使用 Nginx 和 Apache,您可以指定提供文件的根目录,并且可以指定由以 Perl、PHP、Python 等语言运行的代码提供服务的路径。不使用 HAProxy,因为,同样,这不是它的设计目的。

    Nginx 和 Apache 也可以用作代理服务器,就像 HAProxy 一样,但是 HAproxy 是专门为这个主要目的而设计和优化的——针对多个后端进行代理和负载平衡,使用各种规则选择后端和算法……本质上,HAProxy 是 HTTP 请求的“中间路由器”,传递它们而不是响应它们。它还可以代理和负载平衡依赖于 TCP 的非 HTTP 协议。

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 2014-11-05
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多