Squid(代理缓存服务器)

1.插话

Squid是什么?
     Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。

2.Squid解析介绍

1)分类
正向解析和反向解析
2)相同点
 访问走向:客户端 -> 代理服务器 ->真实服务器 ->代理服务器->客户端
3)不同点:
    正向代理语义上更侧重于,客户端(A)让代理服务器(B)去帮忙访问某个网址。比如腾训QQ,新闻,体育,时尚等网站。
    其特点是:
a、被访问的服务器(C)只知道是代理服务器(B)请求的,而不知道是你(A)请求的;
b、你(A)可以明确知道你要请求的真实服务器(C)
c、客户端(A)必须在浏览器设置代理服务器(B)的地址和端口。(设置之后,意思就是说只要在这个浏览器上输入的网址,统统都丢给代理服务器(B)去帮忙访问)

    反向代理:客户端(A)只知道代理服务器(B)的地址,而不知道真实的服务器(C)的地址。客户端(A)只能被动的请求代理服务器(B),在由代理服务器去访问真实的服务器(C)。
    其特点是:
a、客户端(A)请求一个地址(比如代理服务器(B)的地址),它并不知道这个地址是代理服务器(B)的地址还是真实的地址(C)
b、真实的地址(C)是由代理服务器(B)决定的。假设代理服务器(B)的地址为www.B.com,它配置的是代理到haha,那你看到的内容就是haha;改天它配置成了hehe,你一样输入www.B.com,看到的内容却是hehe。这些都不是客户端(A)能决定的。
c、客户端(A)不需要在浏览器设置代理服务器(B)。
4)总结
    正向代理,其真实服务器对客户端是明确的。你只是借助代理服务器让它帮忙去请求你想访问的那个地址。
    一般的应用场景是:公司内部人员的计算机网络一般是私网,但是,为了公司人员可以访问到外网,只需要有一台计算机可以连到外网,那么,就可以将这台计算机作为代理服务器进行正向解析。
    反向代理,其真实服务器对客户端是透明的。你永远不知道代理服务器访问的地址是代理服务器还是真实服务器。就比如直接访问www.baidu.com,有可能地方代理服务器内才能中没有这个数据,那么,他就要去真实服务器去获取,而他获取的速度远远小于客户机自己获取花费的时间,从而在某种意义上实现加速。
    一般的应用场景是:大型公司为了会在全国各地安放代理服务器,一方面为了缓解总部服务器的访问压力,另一方面进行地方性解析速度更快,会少很多经过路由的过程,并且公司的服务器的传输速度差不多都是几千兆,我们平时用的网一般也就几十兆,就不得了了。

3.Squid的实现

1)正向解析

step1:
需要三台计算机:
【C】:客户机 
【S】:代理服务器
【R】:真实服务器

step2:

配置各台主机的网络信息:
【C】:添加一块网卡,设置IP为:172.25.8.208
【S】:添加两块网卡,设置IP分别为:172.25.8.108172.25.254.108
【R】:添加一块网卡,设置IP为:172.25.254.8
其中,172.25.8.0/24为私有网段,172.25.254.0/24为公有网段

在这里,我们将自己的主机作为【R】,安装两台虚拟机分别作为【C】【S】
这里写图片描述
这里写图片描述

step3:

将Squid服务在【S】这台虚拟机上进行搭建:
yum install squid -y 

通过查看squid的配置文件可知,其开放的网络端口为:3128
vim /etc/squid/squid.conf
这里写图片描述

vim /etc/squid/squid.conf               ##修改配置文件中56行和66行   

这里写图片描述

systemctl start squid            ##开启squid服务
cd /var/spool/squid
ls                              
##可以看到生成了很多的目录,而这些目录存在的意义就是高速缓存

这里写图片描述

step4

在客户端【C】中的浏览器上进行代理服务器的添加:
firefox                  ##进入到浏览器中直接编辑修改
##Edit --> Preferences --> Advanced --> Network --> Settings --> Manual proxy configuration
##在Manual proxy configuration中填写:
HTTP Proxy:172.25.8.108   ##代理服务器中可以连接公网的IP
Port:3128                 ##代理服务器网络端口

这里写图片描述

step5

   最后一次检查防火墙是否关闭,SELinux是否停止工作,squid服务是否开启
一切准备就绪的情况下,在【R】真实服务器中,在Apache的默认发布目录下,编辑文件index.html,然后,先在【S】代理服务器端进行测试,如果,可以正确访问,再继续在【C】客户端进行访问

【S】端,Apache默认发布文件的内容
这里写图片描述
【S】代理服务器端 访问【R】真实服务器的Apache时,显示为【R】真实服务器的Apache的默认发布文件则正确,即访问成功!
这里写图片描述
最后,在【C】端直接访问【R】端的Apache
这里写图片描述

正向解析成功~

1)反向解析

与正向解析不同的是,反向解析访问的网络端口是80,因此,在正向解析的基础上,我们需要改变【S】端squid的配置文件以及【C】端浏览器的文件的http端口
S】端:vim /etc/squid/squid.conf        ##将squid的端口由3128改为80

这里写图片描述

C】端:firefox

这里写图片描述

反向解析成功~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值