Linux——正向代理与反向代理

一、正向代理

  • 概念
      正向代理(forward proxy),是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理
  • 正向代理的应用
  1. 访问原来无法访问的资源
  2. 用作缓存,加速访问速度
  3. 对客户端访问授权,上网进行认证
  4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
  • 测试环境
  • 真机:172.25.254.31
  • apache主机:172.25.254.131
  • squid主机:172.25.254.231
  • 正向代理的实现
  1. 在真实主机上连上wifi,让主机可以ping通百度,并开启路由功能
    在这里插入图片描述
    在这里插入图片描述
  2. 在squid主机中配置网络
    添加网关(真机ip)和dns
    在这里插入图片描述
    重启网络
    在这里插入图片描述
    测试:squid主机可以ping通百度
    在这里插入图片描述
  3. 在squid主机中安装squid服务
    在这里插入图片描述
    在这里插入图片描述
  4. 修改squid主机的squid配置文件
    在这里插入图片描述
    第56行:http_access allow all
    第59行:http_port 3128
    第62行:取消注释
    在这里插入图片描述
    /var/spool/squid  表示缓存目录
    16    表示有16个一级目录
    256   表示有256个二级目录
    100   表示缓存大小不能超过100M
  5. 将squid主机的火墙关掉
    在这里插入图片描述
  6. 关掉apache主机的火墙
    注意:这里的apache主机上装有http和https,用于测试就不再赘述(详情可看文章:apache的部署)
    在这里插入图片描述
  7. 重启服务后会看到/var/spool/squid目录下,有16个一级目录,256个二级目录
    在这里插入图片描述
    在这里插入图片描述
  8. 测试:
  • apache主机不能ping通网络
    在这里插入图片描述
  • 在apache主机浏览器中中Edit->preferences->Advanced->Network->settings
    在这里插入图片描述
    在这里插入图片描述
  • 手动添加代理服务器,并将端口设置为3128
    注意:此处的ip:172.25.254.231为squid主机的ip
    在这里插入图片描述
  • 在浏览器中输入百度网址,则可以看到百度的页面,说明正向代理成功(虽然不能ping通百度,但是却可以得到百度的缓存页面)
    在这里插入图片描述
  • 去掉代理,则再输入百度网址,就不能访问了
    在这里插入图片描述
    在这里插入图片描述

二、反向代理

  • 概念
      反向代理(Reverse Proxy),是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器
  • 反向代理的应用
  1. 负载均衡:将用户的请求转交代理服务器处理
  2. 对客户端隐藏服务器的信息
  3. 缓存
  4. CDN技术,Nginx
  • 反向代理的实现
    注意:在做这个实验之前要取消正向代理的浏览器设定
  1. 在squid中编辑squid配置文件
    在这里插入图片描述
    在这里插入图片描述
    vhost     表示虚拟主机
    vport    表示虚拟端口
    parent    表示172.25.254.131是它的父级目录
    80     表示访问父级目录的80端口
    0      表示没有没有备用机
    proxy-only  表示只做代理
  2. 重启服务
    在这里插入图片描述
  3. 修改真机解析文件中的ip为squid主机的ip
    在这里插入图片描述
    在这里插入图片描述
  4. 测试:
  • 在真机浏览器中,输入172.25.254.131,可以看到相应发布文件内容
    在这里插入图片描述
  • 在真机浏览器中,输入172.25.254.231(squid主机ip),显示172.25.254.131(apache主机ip)/var/www/html中默认发布文件中的内容
    说明反向代理成功
    在这里插入图片描述
  • 轮询代理
  1. 在squid中编辑squid配置文件
    在这里插入图片描述
    这里需要两台配置好apache的主机,ip分别为:
    172.25.254.131
    172.25.254.130
    在这里插入图片描述
  2. 重启服务
    在这里插入图片描述
  3. 测试:
    在真机中输入www.westos.com,显示172.25.254.131主机/var/www/html中默认发布文件中的内容
    在这里插入图片描述
    刷新一次页面,就会显示172.25.254.130主机/var/www/html中默认发布文件中的内容
    在这里插入图片描述
  4. 我们还可以添加权重系数weight=2,表示访问两次172.25.254.131主机,再访问一次172.25.254.130主机
    在这里插入图片描述
    读者可自行测试,就不再赘述

三、总结

  • 什么是代理服务器(Proxy Serve)
    提供代理服务的电脑系统或其它类型的网络终端,代替网络用户去取得网络信息。
  • 为什么使用代理服务器?
  1. 提高访问速度
      由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门网站能明显提高访问速度。
  2. 防火墙作用
      由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可以在代理服务器上设限,过滤掉某些不安全信息。同时正向代理中上网者可以隐藏自己的IP,免受攻击。
  3. 突破访问限制
      互联网上有许多开发的代理服务器,客户机在访问受限时,可通过不受限的代理服务器访问目标站点,通俗说,我们使用的翻墙浏览器就是利用了代理服务器,可以直接访问外网。
  • 正向代理和反向代理的区别
  1. 代理对象不同
  • 正向代理是服务于客户端的,客户端请求该服务器去访问目标服务器。
  • 反向代理是服务于服务器的,服务器设置代理服务器来处理客户的访问。
  1. 用途不同
  • 正向代理,为在防火墙内的局域网客户端提供访问Internet的途径。
  • 反向代理,将防火墙后面的服务器提供给Internet访问。
  1. 安全性不同
  • 正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此必须采取安全措施以确保仅为授权的客户端提供服务。
  • 反向代理都对外都是透明的,访问者并不知道自己访问的是哪一个代理 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值