squid 代理服务器[通俗易懂]

squid 代理服务器[通俗易懂]squid代理服务器(包括正向代理服务器、反向代理服务器(cdn加速)squid调度器:负载均衡(缓解企业服务器的压力))1.什么是squid代理服务器?Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求Squid是一种用来缓冲Inter…

大家好,又见面了,我是你们的朋友全栈君。

squid代理服务器(包括正向代理服务器、反向代理服务器(cdn加速)
squid调度器:负载均衡(缓解企业服务器的压力))

1.什么是squid代理服务器?

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

2.squid正向代理服务器的实现(客户自己主动设定代理服务器的信息)

接下来我将把server虚拟机当作一个squid代理服务器,让我的desktop虚拟机通过server虚拟机去使用真机的网关上网
真机相当于国外的一台服务器
server虚拟机相当于香港的一台客户端
desktop虚拟机相当于中国的一台客户端
操作都在server上面

实验步骤

(1)先连wifi使自己的真机可以上网,可以ping通百度,ping www.baidu.com
(2)在真机里面开启我的两台虚拟机
(3)配置server主机的网络,并且使他可以通过真机上网

在server端添加网关为真机的网关
在这里插入图片描述
在server端添加域名解析服务器

vim  /etc/resolv.conf    
添加
nameserver  114.114.114.114

开启真机防火墙伪装功能
启动真机防火墙 :systemctl restart firewalld
启动真机防火墙伪装功能
在这里插入图片描述
(4)配置desktop主机的网络,使它不能上网,ping不通 www.baidu.com

在server端进行如下操作

yum install squid,安装squid服务
systemctl start squid开启squid服务
systemctl enable squid设置squid服务是开机启动

vim /etc/squid/squid.conf编辑squid配置文件
允许别人把我当作代理服务器,缓存100M,要定期自动清理,16个一级目录,256个二级目录
在这里插入图片描述

systemctl restart squid
firewall-cmd --permanent --add-port=3128/tcp   #添加3128端口
firewall-cmd --reload    #重新加载firewalld

在desktop的浏览器里面设置代理主机的信息,使它在依然ping不通百度的情况下,但是可以神奇的上网,哈哈哈
在浏览器里面加入代理服务器server的信息,172.25.254.115和 3128端口
desktop客户端通过server客户端的3128端口去问114要东西
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述
desktop主机在ping不同百度的情况下可以上网了

3.squid的反向加速代理

(1)实验背景
squid反向代理也叫做cdn加速,利用squid代理服务器,此时属于反向代理

什么使CDN?
CDN的全称是Content Delivery Network,即内容分发网络。
CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,
使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

(2)实验规划

我的server服务端虚拟机(desktop)是深圳的企业放在西安的代理服务器,上面没有资源
我的client客户端虚拟机(serevr)是深圳的服务器,上面有资源,有apache服务
西安的客户直接问西安的代理服务器,西安的代理服务器去深圳的服务器上面缓存资源

(3)实验步骤

在server虚拟机上进行如下操作:相当于深圳的服务器

yum install httpd  #安装apache服务
systemctl start httpd # 开启apache 
systemctl stop firewalld #关闭防火墙 
cd /var/www/html ls
vim index.html  #编辑发布文件
<h1>172.25.254.115</h1> 
systemctl restart httpd  #重启apache服务

在desktop虚拟机上设置squid反向代理服务器,相当于位于西安的反向代理服务器
直接查看有没有apache服务:

rpm -qa | grep httpd   # 若有apache,则卸载apache
yum install squid  -y   #安装aquid

在这里插入图片描述
vim /etc/squid/squid.conf 修改下面三行
在这里插入图片描述

systemctl restart squid
netstat -antlupe  | grep squid   #查看 有没有80端口
systemctl stop firewalld.service 

在这里插入图片描述
测试:输入desktop的ip地址可以访问到server端下apach 共享目录中的内容,注意desktop主机ip172.25.254.215 server主机id:172.25.254.115
在这里插入图片描述

4.squid调度器的实现

(当企业中服务器的压力很大时,利用squid调度器来缓解负载均衡)

(1)实验背景

当多个客户访问一台服务器的时候,服务器压力很多,需要另外一台服务器来帮助它均衡一下
可是客户端只访问一个ip,两个服务端的ip不一样,怎样让客户毫无察觉的在两台服务器上面访问一个企业的同一个资源
这时候就需要一个squid调度器,当第一个客户访问时,去找apache1,当第二个客户来访问时,去找apache2
这个实验需要三台主机,两台apache主机,一台squid主机

(2)实验步骤
找两台主机安装httpd服务,并写好测试页index.html 文件
真机是一个apache1
一个虚拟机是apache2(server虚拟机),
desktop一个是squid(desktop虚拟机)

在desktop主机上编辑squid的配置文件
vim /etc/squid/squid.conf 文件
修改下面几行内容如下:
在这里插入图片描述
在真机中添加域名解析

vim /etc/hosts
squid主机的ip www.westos.org
firefox 输入www.westos.org

测试:www.westos.org
在这里插入图片描述
再次刷新,就变成真机中共享目录中的内容
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140806.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号