假设有一台服务器 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或者其它站点,这是正向代理。
你和服务器要进行通讯
如果你找一个代理人,通过代理人和服务器沟通,那这个代理人是正向代理。
如果服务器找了个代理人,让代理人处理和你的通讯,那这个代理人是反向代理。