代理服务器和反向代理服务器之间的区别是什么?
当前回答
我发现下图非常有用。它只是显示了通过Internet从客户端到服务器的正向和反向代理设置的架构。此图将帮助您更好地理解qyb2zm302的答案和其他答案。
您还可以观看由Peter Silva制作的F5的DevCentral视频。
图片来源:Quora。然而,根据Martijn Pieters的说法,这张图片可能来自Pulse Secure Community或Julien Pauli的网站(法语)developez.com。
这让我想起了一句经典的谚语:
一张图片值1000个字。
其他回答
代理:它代表客户提出请求。因此,服务器将向代理返回响应,代理将向客户端转发响应。事实上,服务器永远不会“了解”客户端是谁(客户端的IP地址);它将只知道代理。然而,客户机肯定知道服务器,因为它基本上格式化了发往服务器的HTTP请求,但它只是将其交给代理。
反向代理:它代表服务器接收请求。它将请求转发给服务器,接收响应,然后将响应返回给客户端。在这种情况下,客户端永远不会“了解”谁是实际的服务器(服务器的IP地址)(有些例外);它将只知道代理。服务器将知道或不知道实际的客户端,这取决于反向代理的配置。
从用户的角度看:向代理或反向代理服务器发送请求时:
proxy-需要两个参数:1)要获取什么,以及2)要使用哪个代理服务器反向代理-需要一个参数:1)获取什么
反向代理从用户不知道的另一个服务器获取内容,并返回结果,就像它来自反向代理服务器一样。
代理服务器(也称为正向代理)和反向代理服务器之间的区别取决于参考点。
从技术上讲,两者完全相同。两者都具有代表源向目的地传输数据的相同目的。
区别在于“代理服务器代表谁/代理服务器代表什么?”
如果代理服务器代表最终用户向互联网服务器转发请求(例如:大学中的学生通过大学代理服务器访问互联网),则代理称为“转发代理”或简称“代理”。
如果代理服务器代表服务器响应传入的请求,则该代理被称为“反向代理”,因为从最终用户的角度来看,它的工作方向相反。
反向代理的一些示例:
web服务器前面的负载平衡器充当代表实际web服务器的反向代理。API网关免费网站托管服务(如facebook页面/博客页面服务器)也是反向代理。实际内容可能在某个web服务器中,但外部世界通过反向代理发布的特定url知道它。
转发代理的使用:
监视来自组织的所有出站internet连接对internet浏览应用安全策略并阻止下载恶意内容阻止访问特定网站
使用反向代理:
显示网站的友好URL跨多个web服务器执行负载平衡应用安全策略并保护实际web服务器免受攻击
一对简单的定义是:
转发代理:代表请求者(或服务使用者)
反向代理:代表服务/内容生产者行事。
Cloudflare有一篇很棒的文章,其中有详细解释这一点的图片。检查此处:什么是反向代理?|代理服务器说明