Linux下的Apache详解(三)正反向代理

代理服务器是什么

从概念上来说,代理服务器(Proxy Server)是一种代理网络用户去取得网络信息的存在,是一种网络信息中转站。

代理服务器(Proxy Server)的功能是代理网络用户去取得网络信息。形象地说,它是网络信息的中转站,是个人网络和Internet服务商之间的中间代理机构,负责转发合法的网络信息,对转发进行控制和登记。
代理服务器作为连接Internet与Intranet(内联网,企事业单位内部互联网)的桥梁,在实际应用中发挥着极其重要的作用,它可用于多个目的,最基本的功能是连接,此外还包括安全性、缓存、内容过滤、访问控制管理等功能。更重要的是,代理服务器是Internet链路级网关所提供的一种重要的安全功能,它的工作主要在开放系统互联(OSI)模型的对话层

代理服务器的作用

作用:提高访问速度和隐藏真实IP,免受攻击。

其实代理服务器提高访问速度这一点,正是印证了把代理服务器比作是一个大的Cache。一般代理服务器会设置一个较大的硬盘缓冲区,当外界有信息访问时会同时将其保存到缓冲区中,当再有用户访问同样的信息时,可以直接从缓冲区中读取信息,传给用户,从而提高了访问速度。

Squid代理缓存服务器的概念

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

正向代理是什么

所谓正向代理,是从客户/客户端角度出发,即为了从原始服务器中取得内容,由客户端向代理服务器发出请求,并指定目标访问服务器,而后,代理(服务器)向目标服务器转交需求,并将获得的内容返回给客户端。正向代理闭环完成。

正向代理的特征是:客户端(我们的浏览器)是明确要访问的真实服务器地址;服务器(某歌网站服务器)只知道代理服务器来访问他了,并不知道真实的客户端是谁(其实是你)。正向代理屏蔽了真实客户端的信息。

在正向代理过程中隐藏了真实请求的客户端,即服务端不知道真实请求客户是谁。

举例:
当你的某一台主机不能访问百度时,让一台可以上网的主机做它的代理服务器,浏览器访问百度。但是ping不通。

正向代理的配置

实验背景
两台主机 真机能上网
desktop 不能上网

实验目的:让desktop在浏览器里访问百度

实验步骤

在真机
1.

vim /etc/resolv.conf #添加dns解析
nameserver 114.114.114.114

在这里插入图片描述
2.

yum install squid -y

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

vim /etc/squid/squid.conf 编辑配置文件

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

4 systemctl restart squid
5. cd /var/spool/squid/ #切换到缓存目录
6.

在这里插入图片描述

firewall-cmd --permanent --add -port=3128/tcp
firewall-cmd --reload

在这里插入图片描述真机测试网络
在这里插入图片描述

在虚拟机
浏览器里添加代理的信息

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

在这里插入图片描述

测试
在虚拟机里访问百度,但是ping不通。
在这里插入图片描述在这里插入图片描述
实际是你用到的代理的操作 因此在浏览器可访问百度, 并不能ping通百度。

反向代理是什么

反向代理一般是从服务端出发,从网络或者客户(端)发出反向代理出请求,反向代理服务器收到需求后判断请求走向何处,然后再将结果反馈给客户端。反向代理闭环完成。

在反向代理过程中,隐藏了内部服务器的信息,用户不需要知道是具体哪一台服务器提供的服务,只要知道反向代理服务器是谁就好了,我们甚至可以把反向代理服务器当做真正服务器看待

举例:
西安的客户机 ,想要访问腾讯的服务器1(总的)深圳)它有资源 有HTTPD
腾讯在西安也有一台服务器2 它上面什么都没有 没有HTTPD 也没有资源
配置西安的服务器2 让它拥有squid 成为反向代理服务器。
客户机想要访问资源时,让2去找1,放在2的缓存区。
客户机有时不知道自己到底拿的是谁的资源。

西安的客户访问西安和深圳的服务器,哪个更快?客户访问西安的更快,因为路由转发个数少。

反向代理的配置

实验背景:
真机没有任何设置 没有安装http
desktop 172.25.254.110 有http 有资源
实验目的:
设置让真机去拿desktop的数据
实验步骤:

在dekstop里

cd /var/www/html
vim index.html
添加172.25.254.110 
systemctl restart httpd
systenctl stop firewalld #记得关闭防火墙

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

在真机里

yum search squid
yum install squid.x86_64 -y
vim /etc/squid/squid.conf
添加 相应配置
此时squid需要在配置文件设置自己的80端口,而不是3128,因为客户机访问的是自己的80端口。
并且说明去拿哪个总服务器的资源
开放缓存存储


systemctl restart squid
netstat -antlupe | grep squid

在这里插入图片描述在这里插入图片描述在这里插入图片描述注意:上面文件里80 后的0 代表当此代理服务器出现故障时,让它去找哪个备用服务器,我们这里没有,因此为0
在这里插入图片描述测试:
在真机访问172.25.254.110
在这里插入图片描述

反向代理的轮巡机制

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

1.vim /etc/squid/squid.conf

在这里插入图片描述3.在哪里浏览就在哪里添加,在真机添加,vim /etc/hosts。添加squid所在主机的ip
在这里插入图片描述
4.当在真机中输入wetsos.org时,前三次是110,第四次是111,如此循环。
在这里插入图片描述

注意:
这里的用户访问只能是通过域名(www.westos.org)访问,若是通过ip访问,才不会起到均衡负载的作用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值