【linux】squid代理服务器

1.Squid代理服务器

Squid代理服务器(Squid proxy server)一般和原始文件一起安装在单独服务器而不是网络服务器上。Squid通过追踪网络中的对象运用起作用。Squid最初担当中介,仅仅是把客户要求传递到服务器并存储要求对象的拷贝。如果同一个客户或同一批客户在要求还在Squid缓存(cache)时要求相同的对象,Squid就可以立刻服务,加速下载并保存带宽。

2.正向代理

2.1了解正向代理

现象: 客户端无法直接连接Internet,可以通过代理服务器(一个跳板机),代理访问外部资源,返回客户端需要的数据!
在这里插入图片描述
客户端已经明确知道要访问的代理服务器,知道其ip地址,端口主动去链接。

2.2正向代理服务器

我是一个拥有合法ip的服务器,我不能访问国外的某网站,但是我可以访问某国内的代理服务器,这个服务器可以访问此网站:

我在链接时告诉代理我要看什么网站,他帮我查看且缓存,我再查看他的缓存。

只在代理服务器来取内容的时候有一次记录,并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
而访问机无法链接百度
在这里插入图片描述
这时我们就可以开始正向代理操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在访问端我们做如下操作:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.反向代理服务器

3.1什么是反向代理

在正向代理中我们是客户端主动填写代理ip及端口,而反向代理中是客户不需要做任何操作,即可上网。

反向代理,是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器;
反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。它位于WEB服务器和Internet之间,处理所有对WEB服务器的请求,组织了WEB服务器和Internet的直接通信。如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发给用户。这种方式通过降低了WEB服务器的请求数从而降低了WEB服务器的负载

反向代理有什么用为什么要这么做:

作用:用户请求过多,服务器会有一个处理的极限。所以使用反向代理服务器接受请求,再用均衡负载将请求分布给多个真实的服务器。既能提高效率还有一定的安全性
用途:如果不采用代理,用户的IP、端口号直接暴露在Internet(尽管地址转换NAT),外部主机依然可以根据IP、端口号来开采主机安全漏洞,所以在企业网,一般都是采用代理服务器访问互联网。
举例:
深圳这个服务器是原始web服务器,此时西安也有一个服务器,现在西安有一台主机上面的网页想要去向深圳发送一个请求,但是直接去访问深圳的服务器会造成深圳服务器的繁忙,还有发送请求响应的速度缓慢(因为要做的地址转换比较多),此时西安这个服务器可以代替这个这个网页去发送请求,因为两个服务器之间的速度比较快,并将请求的结果缓存下来,如果下一次有人问,西安就不用去发送请求,可以将缓存结果直接交付给它,这样就缓解了深圳服务器的工作压力

在这里插入图片描述
具体客户端操作如下:

yum install httpd -y
systemctl start httpd
cd /var/www/html
vim index.html     里面随便写点什么
systemctl  stop firewalld

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在服务端我们也要做一些 实验:

vim /etc/squid/squid.conf
第五十九行:http_port 80 vhost vport
第六十行:cache_peer  172.25.254.106   parent 80 0 proxy-only
systemctl restart squid

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.web调度器的搭建

调度器:(调节负载均衡)
在企业中当站点的服务器负载过大时,我们可以使用轮循调度来降低负载——虽然访问的IP不同,但是访问内容是一致的

配置两个apache,在默认发布文件随便写点什么,为了实验效果,同一个域名对应的默认发布内容最好写的不一样,在企业中默认发布内容其实是一样的。
一个apache我们在上个实验都做好了,此时来搭建另一个apache(用真机)
第一步:配置好yum源
在这里插入图片描述
第二步安装httpd软件包
在这里插入图片描述
在这里插入图片描述
第三步:开启服务,并编辑默认发布文件
在这里插入图片描述
第四步:关闭防火墙
在这里插入图片描述

搭建web调度器(也可以用上个实验的服务端server):

配置一个调度器:(主机ip是172.25.254.206)
yum install squid -y
systemctl start squid
vim /etc/squid/squid.conf 编辑配置文件
在里面修改56-65

56 http_access allow all
 57 
 58 # Squid normally listens to port 3128
 59 http_port 80   vhost vport
 60 cache_peer 172.25.254.106  parent  80  0  proxy-only   no-query  round-robin  originserver   name=web1
 61 cache_peer 172.25.254.15  parent  80  0  proxy-only   no-query  round-robin  originserver    name=web2  weight=3
 62 cache_peer_domain web1  web2  www.westos.com
 63 
 64 # Uncomment and adjust the following to add a disk cache directory.
 65 cache_dir ufs /var/spool/squiid 100 16 256

因为我们这里已经安装过squid并且开启过服务,所以不用安装跟开启服务

编辑配置文件
在这里插入图片描述
在这里插入图片描述
cache_peer 172.25.254.106 parent 80 0 proxy-only round-robin
originserver name=web1
80指连接浏览器的端口,0指当服务器挂掉后没有备用的(通过进入目录/usr/share/doc/squid-3.3.8/squid.conf.documented(可以查看到本机没有备用服务器)
proxy-only指只能代理
name=web1是给呈现出ip为172.25.25.106中的内容(共享目录下/var/www/html/index.html的内容)起的别名
round-robin用的是轮循方式
originserver说明为哪一个域名服务(本机为www.westos.com),只有设置这个参数才会去识别round-robin(轮循)

1systemctl restart squid         重启服务
2systemctl stop firewalld      关闭火墙

在这里插入图片描述

测试:
在真机里测试:

1 vim /etc/hosts
2 172.25.254.206   www.westos.com

在这里插入图片描述
在这里插入图片描述
然后在浏览器输入www.westos.com测试,发现出来的内容不一样,刷新频率,两个页面出现的频率为:“我好喜欢你”页面出现一次,“声之形”页面出现两次
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意

1.两个http服务端的防火墙要关闭
2.调度器不要安装httpd,可能会占用端口
3.轮循调度都是为一个站点所服务的
4.在调度器不要设置dns(本机不做解析),否则会占用端口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值