LINUX系统下的squid服务
一、squid服务实现正向代理
正向代理,是一个位于客户端和原始服务器之间的服务器。 客户端可以通过服务器的缓存数据,得到所需的结果。
示例:在一台可以联网的主机上,安装squid软件之后,就可以在另一台无网络的主机上通过操作浏览器便可以上网。具体操作如下:
1)在有网主机上:(有网即设置主机号和网关)
yum install squid -y
systemctl start squid
vim /etc/squid/squid.conf ##修改配置文件第56、62行(此时,我们可以发现squid的端口是3128)
注释:第56行表示允许所有主机访问;第59行表示开启的服务端口为3128;第62行表示开启缓存服务,第三个参数为缓存目录,缓存不超过为100M,一级目录16个,二机目录256个。
systemctl restart squid ##重启服务
2)在测试主机中(无网络连接,即百度连接不同)
1.打开火狐浏览器
2.选中edit,点击perference
3.在以下界面点击settings
4. 在以下界面中,HTTP Proxy中填写有网的IP,端口号为有网主机中安装sqiud配置文件中的端口号。
5.完成之后,点击确定,就可以上网拉。
二、squid实现反向代理
反向代理,在进行远程数据传输的时候,需要一个中间站点来进行数据的传输。在中间站点使用squid服务实现所需的传输,也就是反向代理。
例如:我们在北京访问深圳的服务器的时候,可以访问西安的服务器(在西安到深圳的缓存中获取)。通过中间站点西安的衔接,减少了深圳服务器的压力,同时也加快了传输速率;实现负载均衡。在过程中,西安服务器就实现了一个反向代理的作用。
具体步骤如下:
1)在主机1(172.25.254.177)中安装httpd服务,并且关闭防火墙
2)在主机2(172.25.254.97)中安装squid服务
yum install squid -y
systemctl start squid
3)在主机2中编辑配置文件
vim /etc/squid/squid.conf
注释:修改第56、59、62行为上图所示;第60行表示,该主机2的父服务器为172.25.254.177,80为访问父级端口,0表示没有备用端口,proxy-only表示只作代理。
systemctl restart squid ##重启服务
systemctl stop firewalld ##关闭火墙
4)在主机3(172.25.254.77)进行测试(会显示172.25.254.177/var/www/html/中默认发布文件的内容)