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
在这里插入图片描述
再次刷新,就变成真机中共享目录中的内容
在这里插入图片描述

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • so文件在线加固加密_安卓so文件解密

    so文件在线加固加密_安卓so文件解密这篇是一系列的关于SO文件保护的自我理解,SO文件保护分为加固,混淆以及最近炒的比较火的虚拟机,由于本人菜鸟,无力分析虚拟机,我相信以后会有机会。。。加固就是将真正的so代码保护起来,不让攻击者那么轻易的发现,至于混淆,由于ART机制的介入,使得O-LLVM越来越火,这以后有机会再分析,这次主要是基于有源码的so文件保护,下次介绍无源码的so文件保护,废话不多说,开搞。在这之前首先对e

    2022年9月15日
    1
  • Python:Python学习总结

    Python:Python学习总结背景PHP的$和->让人输入的手疼(PHP确实非常简洁和强大,适合WEB编程),Ruby的#、@、@@也好不到哪里(OO人员最该学习的一门语言)。Python应该是写起来最舒服的动态语言了,一下

    2022年7月6日
    19
  • 软件工程项目_软件工程对象模型图

    软件工程项目_软件工程对象模型图软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表、判定树、Jackson图、流图、甘特图、工程网络图我们先将这几种图按照软件工程中的阶段分类~接下来看一下这些图都长什么样子~1.系统流程图2.数据流图3.数据字典4.E-R图5.状态转换图:6…

    2022年8月13日
    1
  • python爬取网站m3u8视频,将ts解密成mp4,合并成整体视频「建议收藏」

    python爬取网站m3u8视频,将ts解密成mp4,合并成整体视频「建议收藏」一些网站会提供m3u8视频地址,以供下载观看。或者一些网站经过分析后发现是使用m3u8格式进行播放的,这时使用m3u8的地址链接就可以下载到相应的视频。一、关于m3u8:(https://blog.csdn.net/baidu_34418350/article/details/64922512)m3u8是苹果公司推出一种视频播放标准,是m3u的一种,不过编码方式是utf-8,是一种…

    2022年6月30日
    39
  • NSGA2算法中文版详细介绍

    NSGA2算法中文版详细介绍NSGA2主要是对NSGA算法的改进。NSGA是N.Srinivas和K.Deb在1995年发表的一篇名为《Multiobjectivefunctionoptimizationusingnondominatedsortinggeneticalgorithms》的论文中提出的。该算法在快速找到Pareto前沿和保持种群多样性方面都有很好的效果,不过在这么多年的应用中也出现了如下的

    2022年5月19日
    47
  • Ajax 模糊查询的简单实现[通俗易懂]

    Ajax 模糊查询的简单实现[通俗易懂]类似于百度的搜索引擎模糊查询功能,不过百度的模糊查询功能更强大,这里简单实现下.要实现模糊查询,首先要做的就是把SQL写好。话不多少,直接贴代码了!JSP页面:<%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":

    2022年5月29日
    119

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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