Linux运维之Squid代理及CDN的简介

一、实验环境(rhel7.0版本)

主机环境:rhel7.0

各主机信息

主机名IP
server172.25.254.1
desktop172.25.254.2
物理机172.25.254.7

 

二、Squid代理

 

Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理。

正向代理的过程隐藏了真实的请求客户端,服务器不知道真实的客户端是谁,客户端请求的服务被代理服务器代替请求。我们经常所说的代理就是正向代理,正向代理代理的是请求方,也就是客户端

反向代理的过程隐藏了真实的服务器,客户不知道真正提供服务的人是谁,客户端请求的服务都被代理服务器处理。反向代理代理的是响应方,也就是服务端

 

三、正向代理(客户端不能访问Apache,Squid服务端可以访问Apache(可以是访问别的Apache服务器,也可以是访问百度的Apache服务器:如果是访问百度的Apache服务器,那么必须可以连外网。这里以访问百度的Apache服务器为例))

 

客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则需要通过一台中间的代理服务器,这就是Squid的正向代理。

Squid代理服务器可以访问到这个Apache服务器,并且缓存访问到的内容,再将缓存的内容给客户端看。

 

1、前期准备:

 

(1)配置环境:

 

两台虚拟机:一个为server虚拟机;另外一个是desktop虚拟机。server虚拟机(服务端)可以访问到百度的Apache(即,必须可以上网),且可以连接到desktop虚拟机。desktop虚拟机(客户端)只能连接到server虚拟机,不能访问到百度的Apache。

 

【1】、配置server虚拟机

 

 

【2】、配置desktop虚拟机

 

  • desktop虚拟机不可以连外网

 

(2)Squid 服务端(server 虚拟机)安装Squid服务

 

本文中的Squid代理服务器为server虚拟机,以使用"yum   install   squid   -y"装好Squid服务,为了方便,直接关闭防火墙。或者对防火墙进行设置(因为防火墙能够添加的服务中没有squid服务,所以添加squid服务对应的端口3128端口。)

 

对防火墙进行设置

 

2、正向代理服务器的配置如下:

 

(1)Squid 服务端——172.25.254.1:

 

编辑Squid的配置文件"/etc/squid/squid.conf",

  • 将第56行的"deny"改为"allow"。
  • 将第62行的注释去掉(需要注意的是:62也可以不注释,不注释只是影响,重启squid服务之后,不会在/var/spool/squid目录中生成相应的文件。)。完成后重启服务。(没有重启服务之前,"/var/spool/squid"目录中,是没有内容的;重启之后,"/var/spool/squid"目录中会生成相应的内容:一共16个目录,每个目录里有256个文件)。

  • 其中ufs表示:缓存数据的存储格式;/var/spool/squid是:squid的cache存放目录;100表示:cache目录容量(单位M);16表示一级缓存目录数量;256表示二级缓存目录数量。
  • 可以看到squid服务的端口为3128

 

(2)Squid 客户端——172.25.254.2:

 

在客户端打开浏览器"firefox",点击左上角的"Edit"下的"Perferences",点击最后的"Advanced"下 的"Network",在"Connetion"后点击"Settings"。按照下图输入IP和端口号,IP是Squid服务器的 IP,端口号是3128。


必须选中Use  this  proxy  server  for  all  protocols这一项

 

3、测试

 

完成上述配置后,在desktop虚拟机客户端的浏览器中重新输入"www.baidu.com",就可以看到这个网页了。但是,访问的不是真实的网页,而是172.25.254.1这台主机的缓存。

此时desktop仍然是ping不同baidu的网址的。

 

正向代理客户端访问的是Squid服务器的缓存,适用于客户端不能直接访问目标主页,需要一个中间服务器Squid。

 

四、反向代理(Squid服务端没有Apache,而客户端通过Apache访问服务端的IP)

注意:只针对Apache的默认侦听端口(80端口)

 

 反向代理是客户端访问的目标是Squid服务器,Squid服务器通过访问有Apache的主机并缓存其网页内容,再反馈给客户端,客户端看到的依旧是 Squid服务器的缓存,但是与正向代理不同的是,反向代理中客户端并不知道有Apache主机的存在,而直接访问Squid服务器,而且客户端不需要自己进行设置。反向代理通常用于Apache的访问加速和减小Apache主机的访问压力。

 

1、前期准备

 

(1)

 

在desktop虚拟机(客户端):打开浏览器,关闭网络代理:Edit—>Preferences–>Advanced–>Network–>Settings–>No Proxy

 

(2)Squid服务端:关闭Apache服务

 

 

(3)

Squid服务端(server虚拟机):IP为172.25.254.1,没有Apache

客户端(desktop虚拟机):IP为172.25.254.2,没有Apache(为了做下一个实验,安装Apache服务,并且开启Apache服务)

真机:IP为172.25.254.7,有Apache

 

2、反向代理服务器的配置如下:

 

实验一:访问IP,域名均可

 

服务端——172.25.254.1

 

编辑配置文件"/etc/squid/squid.conf",

  • 将第59行的"3128"改为"80",并在后面加 上"vhost vport",
  • 在第60行添加"cache_peer  172.25.254.7  parent  80  0  proxy-only"。完成后重启"squid"服务。(这个内容的写法需要看帮助文档)

并重启 squid 服务。

  1. 其中60行是指:通过80端口访问172.25.254.7主机上的内容;
  2. cache_peer:做反向代理的关键字;
  3. 172.25.254.7:代表后台真正的web服务器;
  4. parent:代理服务器的类型。有parent和slibing两种(parent代表父亲;slibing代表兄弟伙伴);
  5. proxy-only:代表只做代理;

 

客户端——172.25.254.2:

 

反向代理不需要在客户端进行配置。

 

在客户端进行测试:

 

需要注意的是Squid服务器上并没有Apache。

完成上述配置后,在客户端的浏览器中,直接输入要访问的Squid服务器"172.25.254.1",则可以看到Apache主机"172.25.254.7"的主页。

 

1、访问IP

 

2、访问域名

 

在客户端编辑本地解析文件,该IP是Sqiud服务端的IP,而不是Apache主机的IP

 

实验二:访问IP,域名均可。

 

服务端——172.25.254.1:

 

该实验同实验一的步骤相同:差别就在于squid服务端配置文件的编辑的内容不同,编辑内容如下(59行-61行)

  • round-robin:表示轮询
  • weight=2:代表权重(2次)。该参数,做轮询时使用。此处的weight参数可以不加,不加此参数时,表示每个IP轮询1次

 

客户端——172.25.254.2:

 

反向代理不需要在客户端进行配置。

 

在客户端进行测试:

 

编辑本地解析文件,该IP是sqiud服务端的IP,而不是apache主机的IP

 

1、访问IP:

 

第一次:

刷新一次:

再刷新一次:

 

2、访问域名:

 

第一次:

刷新一次:

再刷新一次:

 

注意:

当Squid服务端中写了下面的62行时:只能做到访问域名server.xin.com时实现轮询,做不到访问IP时轮询。

 

五、CDN的简介

 

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

CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7 Linux中的Squid代理服务器是一个流行的开源代理服务器软件,可用于缓存和控制访问Internet的客户端请求。您可以按照以下步骤在CentOS 7上安装和配置Squid代理服务器: 1. 安装Squid软件包:在终端中执行以下命令以安装Squid软件包: ``` sudo yum install squid ``` 2. 配置Squid代理服务器:编辑Squid的主要配置文件`/etc/squid/squid.conf`,根据您的需求进行相应的配置。您可以使用文本编辑器打开该文件并进行修改。 3. 启动和配置自启动Squid:执行以下命令以启动Squid服务并设置其在系统启动时自动启动: ``` sudo systemctl start squid sudo systemctl enable squid ``` 4. 配置客户端连接:根据需要,您可以在客户端的网络设置中将代理服务器配置为Squid代理服务器的IP地址和端口号。 注意:在Windows系统中连接到Squid代理服务器时,您需要按照相应的设置来配置Windows网络代理设置。 请注意,这只是Squid代理服务器的基本安装和配置步骤。根据您的具体需求,您可能需要更多的配置和自定义操作。希望这些信息能够帮助您设置CentOS 7上的Squid代理服务器。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [CentOS7安装squid代理服务器](https://blog.csdn.net/m0_51510236/article/details/126845664)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值