正向代理和反向代理

本文详细介绍了正向代理和反向代理的概念,它们如何解决跨域问题,以及在Nginx和Node.js中的应用。重点阐述了两者在访问控制、安全和负载均衡方面的区别,将代理比喻为买票黄牛和租房代理,帮助读者理解其工作原理。
摘要由CSDN通过智能技术生成

概述

正向代理:替客户端向服务器发送请求,可以解决跨域问题
反向代理:替服务器统一接收请求。

怎么搞代理?
Nginx 服务器
Node.js 服务器

原本请求:http://localhost:8000/api/user/login
代理到请求:http://localhost:8080/api/user/login
代理

什么是代理?

代理其实就是一个中介,A和B本来可以直连,中间插入一个C,C就是中介。
如图。

刚开始的时候,代理多数是帮助内网client访问外网server用的。
后来出现了反向代理,"反向"这个词在这儿的意思其实是指方向相反,即代理将来自外网客户端的请求转发到内网服务器,从外到内。

正向代理

正向代理类似一个跳板机,代理访问外部资源。

比如我们国内访问谷歌,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服,代理服务器能够访问谷歌,这样由代理去谷歌取到返回数据,再返回给我们,这样我们就能访问谷歌了。

在这里插入图片描述

正向代理的用途:

(1)访问原来无法访问的资源,如google

(2) 可以做缓存,加速访问资源

(3)对客户端访问授权,上网进行认证

(4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理

反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

在这里插入图片描述

反向代理的作用:

(1)保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问地址,Web服务器是内网

(2)负载均衡,通过反向代理服务器来优化网站的负载

总结

正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端.

反向代理即是服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端

看图理解一:

在这里插入图片描述

看图理解二:

在这里插入图片描述

正向代理中,proxy和client同属一个LAN,对server透明;
反向代理中,proxy和server同属一个LAN,对client透明。
实际上proxy在两种代理中做的事都是代为收发请求和响应,不过从结构上来看正好左右互换了下,所以把后出现的那种代理方式叫成了反向代理

总结:
正向代理: 买票的黄牛

反向代理: 租房的代理

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值