Linux系统中的正向代理和反向代理(CDN)

正向代理:

正向代理(forward proxy),是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理

正向代理的作用:

  1. 访问原来无法访问的资源
  2. 用作缓存,加速访问速度
  3. 对客户端访问授权,上网进行认证
  4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

实验环境:

  1. 真机:172.25.254.148
  2. apache主机:172.25.254.223
  3. squid主机:172.25.254.123

开始实验:

@真机(148)PING一下www.baidu.com:(可以看到ping通了):

@给squid主机配置网络:(设置IP 子网掩码 网关 以及DNS域名解析)

重启网络:(systemctl restart network):

ping www.baidu.com:(squid主机可以ping通百度)

yum install squid -y

更改配置文件:

修改56 59 62行

其中

/var/spool/squid  表示缓存目录
16                     表示有16个一级目录
256                      表示有256个二级目录
100                      表示缓存大小不能超过100M

@关闭squid主机 防火墙

@关闭apache服务器 防火墙:

@在squid主机里:(可以看到重启squid服务后出现了 16个 一级目录!)

进入一个00目录可以看到 其下有256个 二级目录!:

测试:

@在 apache服务端, 是不能ping通 www.baidu.com的:

进入apache服务器,登录其浏览器:

点击顺序依次: Edit->preferences->Advanced->Network->settings

选择Advanced:

选择Network : Settings:

选择Manual proxy confirguration  手动输入  我们的 squid主机ID 及 接口3128 (作为代理)

这是完毕 OK:

然后在浏览器输入www.baidu.com:(发现可以浏览百度主页!)

关闭刚才设定的代理:

输入www.baidu.com又不能查看了:

这就是正向代理!

########反向代理#############

反向代理:

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

反向代理的作用:

  1. 负载均衡:将用户的请求转交代理服务器处理
  2. 对客户端隐藏服务器的信息
  3. 缓存
  4. CDN技术,Nginx

开始实验(还原实验环境,即刚才的正向代理的设定得复原):

更改配置文件:(vim /etc/squid/squid.conf ):(与正向代理不同的是59-60两行内容)

其中:

vhost     表示虚拟主机
vport      表示虚拟端口
parent    表示172.25.254.223(apache服务器IP)是它的父级目录
80        表示访问父级目录的80端口
0       表示没有没有备用机
proxy-only     表示只做代理

@重启squid服务:

@在真机浏览器中输入 apache服务器的IP:

@在真机浏览器输入squid服务器的IP:

可以看到显示的是172.25.254.223(apache主机ip)/var/www/html中默认发布文件中的内容
说明反向代理成功!!!

###轮巡代理#####

进入squid主机:

编写配置文件:/etc/squid/squid.conf

其中60 61 62为我们要编写的内容! 我们将真机 也作为一个httpd服务端使用;

并在真机端写如下文件内容:

重启squid服务器的 squid服务:

@@@@进入真机浏览器测试:

输入www.westos.com:

刷新一次页面:

而且我们还可以加入权重 (web1 内容出现几次,web2出现几次这种)

比如:(weight=2 表示  web1内容出现两次 web1出现一次)

OVER!

猜你喜欢

转载自blog.csdn.net/Asukaaaa/article/details/84839697