前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正向代理和反向代理

正向代理和反向代理

作者头像
数据小冰
发布2022-08-15 14:22:52
4460
发布2022-08-15 14:22:52
举报
文章被收录于专栏:数据小冰

1.什么是代理

生活中我们常说的代理就是中介人/经纪人,在计算机领域,代理本质上是一台服务器。计算机A要和计算机B通信,经过计算机C进行转发,计算机C将A的消息转发给B, 将B的消息转发给A。

2.为什么需要正向代理和反向代理

代理按主要服务的角色分成2种,正向代理和反向代理,正向代理代理的是客户端,反向代理代理的是服务器。典型拓扑结构如下:

正向代理典型的应用是V**, 我们不能直接访问google网站,通过配置正向代理,正向代理与google服务器是连同的,我们访问网站请求发送到正向代理服务器,正向代理服务转发给google服务器,并将google服务器返回的内容转发给浏览器。

能够隐藏真实的客户端信息,对于google服务器来说,它只知道代理服务器,并不知道知晓客户端。总结下来,正向代理主要作用有:

• 1.访问原来无法访问的资源,像google, facebook• 2.可以做缓存,加速访问• 3.对客户端进行授权,进行上网认证• 4.上网行为管理,隐藏真实的IP地址, 例如深信服的上网行为管理AC

反向代理的主要应用是负载均衡,例如将Nginx作为反向代理服务器,提供负载均衡服务。我们访问百度网站,访问的是百度服务器www.baidu.com,反向代理服务器会将我们的访问请求转发到真实的服务器上。所以,方向代理隐藏了真实的服务器地址信息。从客户端角度看,并不知道自己访问的是一个代理服务器。客户端并不需要做什么配置。

反向代理的主要作用有:

•1.负载均衡

•2.保护内网安全

•3.缓存服务器信息,减少服务器的压力

3.怎么配置正向代理

下面的实验2台机器做验证,对应的网络拓扑结构如下,客户机的IP地址为192.168.43.69 代理服务器的IP地址为192.168.43.51。

首先在代理服务器上安装代理软件,代理服务器是一个ubuntu系统,本实验安装的是squid。这是一款非常有名的正向代理软件。安装步骤如下:

代码语言:javascript
复制
1. sudo apt-get update
2. sudo apt-get install squid3
3. 修改squid3配置文件
      sudo vim /etc/squid/squid.conf
4. /http_access 按N一直往下查询,找到 http_access deny all 把 deny改成allow
5. sudo service squid restart

在客户机上访问百度首页,在代理服务器上抓包分析正向代理报文交互流程。

代码语言:javascript
复制
1.在客户机上配置代理服务信息
     export http_proxy=“ubuntu:3128” //ubuntu是我代理服务器的名称,3128是代理服务器squid3监听的端口
2.在代理服务器上执行如下命令,清理掉arp缓存
        sudo arp -d _gateway
3. 开启抓包,抓取接收和发送地址为51的报文和arp报文
      sudo tcpdump -s 2000 -ntX ‘(src 192.168.43.51) or (dst 192.168.43.51) or (arp)’
4. 在客户机上执行 wget 抓取百度首页 wget —header=‘Connection:close’ http://www.baidu.com/index.html

代理服务器上抓取到的内容如下,前面的交互是发送arp信息,请求192.168.43.51机器的mac地址。然后代理客户端与百度服务器建立连接,请求首页内容,并将获取到的首页内容返回给客户端。

客户端上执行结果如下,可以看到,客户端成功解析出了代理服务器的地址,与代理服务器建立了连接。并成功抓取到首页index.html内容。

4.反向代理和正向代理区别

•1.代理的对象不同,正向代理代理的对象是客户端,反向代理代理的是服务器

•2.代理服务器部署的位置不同,正向代理部署在客户端一侧,一般跟客户端在一个局域网,反向代理部署在服务器一侧,一般跟服务器在一个局域网

•3.正向代理给局域网内部的机器提供访问互联网的功能,反向代理将防火墙后面服务器的服务提供给互联网。

•参考文献

[1]https://zhuanlan.zhihu.com/p/69072041

[2]https://www.cnblogs.com/wl889490/p/12612086.html

[3]https://zhuanlan.zhihu.com/p/25707362

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据小冰 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档