Linux之squid代理缓存服务
- 什么是squid代理
现象:在中国访问外国的网站类似yotube,facebook访问不成功
如果想访问成功,则需要设置squid代理,代理的主机可以访问外网
Squid是Linux系统中最为流行的一款高性能代理服务软件,通常用作Web网站的前置缓存服务,能够代替用户向网站服务器请求页面数据并进行缓存。简单来说,Squid服务程序会按照收到的用户请求向网站源服务器请求页面、图片等所需的数据,并将服务器返回的数据存储在运行Squid服务程序的服务器上。当有用户再请求相同的数据时,则可以直接将存储服务器本地的数据交付给用户,这样不仅减少了用户的等待时间,还缓解了网站服务器的负载压力。
- 正向代理
所谓正向代理模式,是指让用户通过Squid服务程序获取网站页面等资源,以及基于访问控制列表(ACL)功能对用户访问网站行为进行限制,在具体的服务方式上又分为标准代理模式与透明代理模式。标准正向代理模式是把网站数据缓存到服务器本地,提高数据资源被再次访问时的效率,但是用户在上网时必须在浏览器等软件中填写代理服务器的IP地址与端口号信息,否则默认不使用代理服务。而透明正向代理模式的作用与标准正向代理模式基本相同,区别是用户不需要手动指定代理服务器的IP地址与端口号,所以这种代理服务对于用户来讲是相对透明的。
实验环境准备:
desktop虚拟机:通过连接真机网络上网,并且可以ping通www.baidu.com,相当于squid代理主机,ip为172.25.254.84
server虚拟机:不能上网,且ping不通www.baidu.com.相当于访问不了外网的国内主机,ip为172.25.254.184
设置步骤:
在desktop虚拟机即squid代理主机设置:
安装squid服务:
yum install squid -y ##安装squid软件
在防火墙添加端口:
systemctl start squid ##开启服务
netstat -antlupe | grep squid ##查看squid接口
firewall-cmd --add-port=3128/tcp
firewall-cmd --list-all
编写配置文件:
vim /etc/squid/squid.conf
56 http_access allow all
62 去掉注释
systemctl restart squid
浏览器设置:
打开浏览器:
添加代理服务器及端口
测试:
设置完毕输入www.baidu.com 成功打开网页
- 反向代理
反向代理模式是指让多台节点主机反向缓存网站数据,从而加快用户访问速度。因为一般来讲,网站中会普遍加载大量的文字、图片等静态资源,而且它们相对来说都是比较稳定的数据信息,当用户发起网站页面中这些静态资源的访问请求时,我们可以使用Squid服务程序提供的反向代理模式来进行响应。而且,如果反向代理服务器中恰巧已经有了用户要访问的静态资源,则直接将缓存的这些静态资源发送给用户,这不仅可以加快用户的网站访问速度,还在一定程度上降低了网站服务器的负载压力。
相较于正向代理,正向代理通常是客户设定,而反向代理通常是企业设定
实验环境准备:
desktop虚拟机:相当于企业代理服务器,ip为172.25.254.84
server虚拟机:相当于企业主服务器,ip为172.25.254.184
真机:相当于本地访问的服务器主机,ip为172.25.254.1
设置步骤:
在desktop虚拟机即代理服务器:
编写配置文件:
vim /etc/squid/squid.conf
59 http_port 80 vhost vport
60 cache_peer 172.25.254.209 parent 80 0 proxy-only ##ip为企业主服务器ip
systemctl restart squid ##重启
systemctl stop firewalld.service
在server虚拟机即企业主服务器:
安装httpd服务,并编写一个实验网页
yum install httpd -y #安装httpd服务
systemctl start httpd #启动服务
systemctl stop firewalld.service #关闭防火墙
vim /var/www/html/index.html
systemctl restart httpd
测试:
在真机即本地访问的服务器主机:
设定本地解析
vim /etc/hosts
打开浏览器输入www.cc.com 成功打开网页
END