Linux下squid服务配置之正向代理及反向代理

代理服务器 就是代理网络用户去取得网络信息。 它是介于浏览器和Web服务器之间的一台服务器,它是网络信息的中转站。有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。
大部分代理服务器都具有缓冲的功能,就像一个大的Cache,它有很大的存储空间,它不断将新取得的数据储存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。
代理功能可以突破自身IP访问限制,访问国外站点。 提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。
Squid是一种用来缓冲Internet数据的软件。安装Squid服务实现代理缓存服务器功能

1、正向代理

正向代理,意思是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
客户端主动寻找代理服务器,为了通过代理服务器访问自己本身无法直接访问的主机,客户端借由正向代理可以间接访问很多不同互联网服务器的资源
正向代理作为客户端的代理,将从互联网上获取的资源返回给一个或多个的客户端,服务端(如Web服务器)只知道代理的IP地址而不知道客户端的IP地址
实验效果:
客户端主机:172.25.254.101 无法访问 www.baidu.com ,但可以访问代理服务器。
代理服务器:172.25.254.201 可以直接访问 www.baidu.com
目标:客户主机通过代理服务器可以访问 www.baidu.com

代理服务器(172.25.254.201)设置:
配置网络–> 添加网关【使虚拟机可以上网】以及dns
yum install squid.x86_64 -y #安装squid 服务软件
systemctl start squid #开启服务
systemctl enable squid.service # 设置服务开机自动启动
netstat -antlupe |grep squid #查看squid服务使用的端口
firewall-cmd --permanent --add-port=3128/tcp #在防火墙中添加该端口
firewall-cmd --reload #重新加载防火墙配置
vim /etc/squid/squid.conf #修改squid服务配置文件
systemctl restart squid.service #重新启动服务

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
去掉第62行的注释
缓存目录中创建16个二级目录,每个二级目录中创建256个文件,每个文件大小不超过100M,用来存放缓存数据
在这里插入图片描述
在客户端测试
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在客户端ping www.baidu.com 是失败的,但是却可以在网页访问,此效果可以称为“跳墙”,也是正向代理的基本功能
在这里插入图片描述

在这里插入图片描述

2、反向代理

反向代理是代理服务器的一种。服务器根据客户端的请求,从其关系的一组或多组后端服务器上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器簇的存在
反向代理是作为服务器端(如Web服务器)的代理使用,反向代理是供很多客户端都通过它间接访问不同后端服务器上的资源,而不需要知道这些后端服务器的存在,而以为所有资源都来自于这个反向代理服务器。
企业自己进行设置 让客户进行访问时候访问代理服务器看到资源服务器的东西,代理服务器中并没有资源

客户端主机 :172.25.254.1 #目的很单纯,只想要看到自己想看到的内容,不管自己访问的是那一台主机。
代理服务器:172.25.254.201 #作为客户端和资源服务器的中间,企业让客户端通过访问该代理服务器看到资源服务器上的内容
资源服务器:172.25.254.101 #该服务其中存在客户想要访问的资源,但是企业不让直接访问该服务器来获取资源

代理服务器(172.25.254.201)设置 (没有http,却被其他主机访问):
yum install squid.x86_64 -y #安装squid 服务软件
systemctl start squid #开启服务
yum remove httpd #卸载httpd
vim /etc/squid/squid.conf #修改squid服务配置文件,指定该代理服务器后端服务器是哪一个,并且使用虚拟主机以及虚拟端口使用httpd的80端口。
systemctl restart squid
systemctl stop firewalld.service #关闭防火墙

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在客户端
资源服务器(172.25.254.101)设置(装有http,却不被访问):
yum install httpd -y #安装httpd服务
systemctl start httpd #启动服务
systemctl stop firewalld.service #关闭防火墙
vim /var/www/html/index.html #编写默认发布文件 将这个文件内容当作客户想要看到的资源,进行实验说明。
systemctl restart httpd #重新启动httpd服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在真机【172.25.254.1】上访问代理测试
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_36016375/article/details/89703872
今日推荐