代理服务器和反向代理服务器之间的区别是什么?
当前回答
从用户的角度看:向代理或反向代理服务器发送请求时:
proxy-需要两个参数:1)要获取什么,以及2)要使用哪个代理服务器反向代理-需要一个参数:1)获取什么
反向代理从用户不知道的另一个服务器获取内容,并返回结果,就像它来自反向代理服务器一样。
其他回答
代理服务器(也称为正向代理)和反向代理服务器之间的区别取决于参考点。
从技术上讲,两者完全相同。两者都具有代表源向目的地传输数据的相同目的。
区别在于“代理服务器代表谁/代理服务器代表什么?”
如果代理服务器代表最终用户向互联网服务器转发请求(例如:大学中的学生通过大学代理服务器访问互联网),则代理称为“转发代理”或简称“代理”。
如果代理服务器代表服务器响应传入的请求,则该代理被称为“反向代理”,因为从最终用户的角度来看,它的工作方向相反。
反向代理的一些示例:
web服务器前面的负载平衡器充当代表实际web服务器的反向代理。API网关免费网站托管服务(如facebook页面/博客页面服务器)也是反向代理。实际内容可能在某个web服务器中,但外部世界通过反向代理发布的特定url知道它。
转发代理的使用:
监视来自组织的所有出站internet连接对internet浏览应用安全策略并阻止下载恶意内容阻止访问特定网站
使用反向代理:
显示网站的友好URL跨多个web服务器执行负载平衡应用安全策略并保护实际web服务器免受攻击
Cloudflare有一篇很棒的文章,其中有详细解释这一点的图片。检查此处:什么是反向代理?|代理服务器说明
下面是一个反向代理(作为负载平衡器)的示例。
一个客户端浏览到website.com,它访问的服务器上运行着一个反向代理。反向代理恰好是Pound。Pound接收请求并将其发送到位于其后面的三个应用服务器之一。在本例中,Pound是一个负载平衡器。也就是说,它正在平衡三个应用程序服务器之间的负载。
应用服务器将网站内容提供给客户端。
转发代理服务于用户:它帮助用户访问服务器。
反向代理服务于服务器:它保护服务器不受用户影响。
从用户的角度看:向代理或反向代理服务器发送请求时:
proxy-需要两个参数:1)要获取什么,以及2)要使用哪个代理服务器反向代理-需要一个参数:1)获取什么
反向代理从用户不知道的另一个服务器获取内容,并返回结果,就像它来自反向代理服务器一样。