Apache proxy和Haproxy与正向代理反向代理是什么关系?

假设有一台服务器 A。

正向代理就是说,当你要访问网站 B 时,发起向 B 的请求,但实际浏览器会先连接到 A 上,A代替你向 B 请求数据,然后再把数据返回给你。此时 A 称为正向代理。

反向代理则是你要访问网站 B,但由于各种各样的原因 B 并没有直接向你暴露其真实地址,而是躲在服务器 A 后面。你是向 A 发起的请求,A 收到请求之后转发给 B。此时 A 称为反向代理。

所以,Apache (或者 NGINX)、HAProxy这些都是反向代理。

具体反向代理的解释也可以参考下 Apache HTTP Server 的 GUIDE 中的相关描述:Reverse Proxy Guide

这两个都是反向代理。

有一堆服务器,你先连到一个代理,然后被转发到具体的服务器上。这是反向代理。

你被墙了,先连到一个代理上,然后再转发到Google或者其它站点,这是正向代理。

你和服务器要进行通讯

如果你找一个代理人,通过代理人和服务器沟通,那这个代理人是正向代理。

如果服务器找了个代理人,让代理人处理和你的通讯,那这个代理人是反向代理。