热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【linux】squid代理服务器

1.Squid代理服务器Squid代理服务器(Squidproxyserver)一般和原始文件一起安装在单独服务器而不是网络服务器上。Squid通过追
1.Squid代理服务器

Squid代理服务器(Squid proxy server)一般和原始文件一起安装在单独服务器而不是网络服务器上。Squid通过追踪网络中的对象运用起作用。Squid最初担当中介,仅仅是把客户要求传递到服务器并存储要求对象的拷贝。如果同一个客户或同一批客户在要求还在Squid缓存(cache)时要求相同的对象,Squid就可以立刻服务,加速下载并保存带宽。

2.正向代理

2.1了解正向代理

现象: 客户端无法直接连接Internet,可以通过代理服务器(一个跳板机),代理访问外部资源,返回客户端需要的数据!
在这里插入图片描述
客户端已经明确知道要访问的代理服务器,知道其ip地址,端口主动去链接。

2.2正向代理服务器

我是一个拥有合法ip的服务器,我不能访问国外的某网站,但是我可以访问某国内的代理服务器,这个服务器可以访问此网站:

我在链接时告诉代理我要看什么网站,他帮我查看且缓存,我再查看他的缓存。

只在代理服务器来取内容的时候有一次记录,并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
而访问机无法链接百度
在这里插入图片描述
这时我们就可以开始正向代理操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在访问端我们做如下操作:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.反向代理服务器

3.1什么是反向代理

在正向代理中我们是客户端主动填写代理ip及端口,而反向代理中是客户不需要做任何操作,即可上网。

反向代理,是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器;
反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。它位于WEB服务器和Internet之间,处理所有对WEB服务器的请求,组织了WEB服务器和Internet的直接通信。如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发给用户。这种方式通过降低了WEB服务器的请求数从而降低了WEB服务器的负载

反向代理有什么用为什么要这么做:

作用:用户请求过多,服务器会有一个处理的极限。所以使用反向代理服务器接受请求,再用均衡负载将请求分布给多个真实的服务器。既能提高效率还有一定的安全性
用途:如果不采用代理,用户的IP、端口号直接暴露在Internet(尽管地址转换NAT),外部主机依然可以根据IP、端口号来开采主机安全漏洞,所以在企业网,一般都是采用代理服务器访问互联网。
举例:
深圳这个服务器是原始web服务器,此时西安也有一个服务器,现在西安有一台主机上面的网页想要去向深圳发送一个请求,但是直接去访问深圳的服务器会造成深圳服务器的繁忙,还有发送请求响应的速度缓慢(因为要做的地址转换比较多),此时西安这个服务器可以代替这个这个网页去发送请求,因为两个服务器之间的速度比较快,并将请求的结果缓存下来,如果下一次有人问,西安就不用去发送请求,可以将缓存结果直接交付给它,这样就缓解了深圳服务器的工作压力

在这里插入图片描述
具体客户端操作如下:

yum install httpd -y
systemctl start httpd
cd /var/www/html
vim index.html 里面随便写点什么
systemctl stop firewalld

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

在这里插入图片描述
在服务端我们也要做一些 实验:

vim /etc/squid/squid.conf
第五十九行:http_port 80 vhost vport
第六十行:cache_peer 172.25.254.106 parent 80 0 proxy-only
systemctl restart squid

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

4.web调度器的搭建

调度器:(调节负载均衡)
在企业中当站点的服务器负载过大时,我们可以使用轮循调度来降低负载——虽然访问的IP不同,但是访问内容是一致的

配置两个apache,在默认发布文件随便写点什么,为了实验效果,同一个域名对应的默认发布内容最好写的不一样,在企业中默认发布内容其实是一样的。
一个apache我们在上个实验都做好了,此时来搭建另一个apache(用真机):
第一步:配置好yum源
在这里插入图片描述
第二步安装httpd软件包
在这里插入图片描述
在这里插入图片描述
第三步:开启服务,并编辑默认发布文件
在这里插入图片描述
第四步:关闭防火墙
在这里插入图片描述

搭建web调度器(也可以用上个实验的服务端server):

配置一个调度器:(主机ip是172.25.254.206)
yum install squid -y
systemctl start squid
vim /etc/squid/squid.conf 编辑配置文件
在里面修改56-65

56 http_access allow all57 58 # Squid normally listens to port 312859 http_port 80 vhost vport60 cache_peer 172.25.254.106 parent 80 0 proxy-only no-query round-robin originserver name=web161 cache_peer 172.25.254.15 parent 80 0 proxy-only no-query round-robin originserver name=web2 weight=362 cache_peer_domain web1 web2 www.westos.com63 64 # Uncomment and adjust the following to add a disk cache directory.65 cache_dir ufs /var/spool/squiid 100 16 256

因为我们这里已经安装过squid并且开启过服务,所以不用安装跟开启服务

编辑配置文件
在这里插入图片描述
在这里插入图片描述
cache_peer 172.25.254.106 parent 80 0 proxy-only round-robin
originserver name=web1
80指连接浏览器的端口,0指当服务器挂掉后没有备用的(通过进入目录/usr/share/doc/squid-3.3.8/squid.conf.documented(可以查看到本机没有备用服务器)
proxy-only指只能代理
name=web1是给呈现出ip为172.25.25.106中的内容(共享目录下/var/www/html/index.html的内容)起的别名
round-robin用的是轮循方式
originserver说明为哪一个域名服务(本机为www.westos.com),只有设置这个参数才会去识别round-robin(轮循)

1systemctl restart squid 重启服务
2systemctl stop firewalld 关闭火墙

在这里插入图片描述

测试:
在真机里测试:

1 vim /etc/hosts
2 172.25.254.206 www.westos.com

在这里插入图片描述
在这里插入图片描述
然后在浏览器输入www.westos.com测试,发现出来的内容不一样,刷新频率,两个页面出现的频率为:“我好喜欢你”页面出现一次,“声之形”页面出现两次
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:

1.两个http服务端的防火墙要关闭
2.调度器不要安装httpd,可能会占用端口
3.轮循调度都是为一个站点所服务的
4.在调度器不要设置dns(本机不做解析),否则会占用端口


推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
author-avatar
等号拖轮_496
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有