Apache的代理服务器的配置 (正向代理 ,反向代理,轮询调度)
一. 代理服务器的了解
1.代理服务器
代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。 Squid是一个缓
存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一
个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请
求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存
的备份立即传给用户,使用户觉得速度相当快。Squid 可以代理HTTP、FTP、GOPHER、SSL和WAIS等
协议并且Squid 可以自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。
2. Squid 分类
按照代理类型的不同,可以将Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式
的不同,又可以分为普通代理和透明代理。
普通代理:需要客户机在浏览器中指定代理服务器的地址、端口;
透明代理:适用于企业的网关主机(共享接入Internet)中,客户机不需要指定代理服务器地址、
端口等信息,代理服务器需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序
处理;
反向代理:是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务
器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器
对外就表现为一个服务器。
二.代理服务的配置(必须使代理服务器连上网)
1.正向代理
所谓正向代理模式,是指让用户通过Squid服务程序获取网站页面等资源,以及基于访问控制列表
(ACL)功能对用户访问网站行为进行限制,在具体的服务方式上又分为标准代理模式与透明代理模
式。标准正向代理模式是把网站数据缓存到服务器本地,提高数据资源被再次访问时的效率,但是
用户在上网时必须在浏览器等软件中填写代理服务器的IP地址与端口号信息,否则默认不使用代理
服务。而透明正向代理模式的作用与标准正向代理模式基本相同,区别是用户不需要手动指定代理
服务器的IP地址与端口号,所以这种代理服务对于用户来讲是相对透明的。
局域网内的主机如果想要访问外网,则必须要通过Squid服务器提供的代理才行,这样当Squid
服务器接收到用户的指令后会向外部发出请求,然后将接收到的数据交还给发出指令的那个用户,
从而实现了用户的代理上网需求。
使真机充当路由器
[root@foundation78 ~]# firewall-cmd --list-all
FirewallD is not running
[root@foundation78 ~]# systemctl stop libvirtd.service
[root@foundation78 ~]# systemctl start firewalld
[root@foundation78 ~]# systemctl start libvirtd.service
[root@foundation78 ~]# firewall-cmd --add-masquerade # 打开路由功能
success
使代理服务器上网
[root@squid ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 # 添加网关和DNS
DNS1=114.114.114.114
GATEWAY=172.25.254.78
[root@squid ~]# systemctl restart network
[root@squid ~]# route -n 
[root@squid ~]# ping www.baidu.com
[root@squid ~]# yum install -y squid.x86_64
[root@squid ~]# vim /etc/squid/squid.conf
56 http_access allow all
59 http_port 3128
62 cache_dir ufs /var/spool/squid 100 16 256
ufs # 缓存数据的存储格式
/var/spool/squid # squid的cache存放路径
100 # cache目录容量(单位M)
16 # 一级缓存目录数量,默认是16
256 # 二级缓存目录数量,默认是256
[root@squid ~]# systemctl restart squid.service
[root@squid ~]# systemctl stop firewalld
打开客户端浏览器进行代理设置
[root@apache-server upload]# firefox & # 用命令的方式打开浏览器



测试:在网页上可以成功访问baidu,是因为有172.25.254.242这台主机做代理

但是在客户端主机上并不能ping通baidu,因为只在浏览器上做了代理
[root@apache-server upload]# ping www.baidu.com
ping: unknown host www.baidu.com
2.反向代理 (也称cdn加速)
反向代理模式是指让多台节点主机反向缓存网站数据,从而加快用户访问速度。因为一般来讲,
网站中会普遍加载大量的文字、图片等静态资源,而且它们相对来说都是比较稳定的数据信息,当
用户发起网站页面中这些静态资源的访问请求时,我们可以使用Squid服务程序提供的反向代理模式
来进行响应。而且,如果反向代理服务器中恰巧已经有了用户要访问的静态资源,则直接将缓存的
这些静态资源发送给用户,这不仅可以加快用户的网站访问速度,还在一定程度上降低了网站服务器
的负载压力。
反向代理服务器会将缓存好的静态资源更快地交付给外网用户,从而加快了网站页面被用户访问
的速度。并且由于网站页面数据中的静态资源请求已被Squid服务器处理,因此网站服务器负责动态
数据查询就可以了,也进而降低了服务器机房中网站服务器的负载压力
[root@squid squid]# pwd
/var/spool/squid
[root@squid squid]# vim /etc/squid/squid.conf
59 http_port 80 vhost vport
vhost # 支持域名和主机名来代理节点
vport # 支持ip和端口来代理节点
60 cache_peer 172.25.254.142 parent 80 0 proxy-only
172.25.254.142 # web服务器的ip
parent # 上下级关系,非平级关系
80 # 代理web服务器的80端口
0 # 没有使用lcp,表示就一台squid服务器
proxy-only # 只做代理,降低主机负担
[root@squid squid]# systemctl restart squid.service
打开浏览器进行访问

3.调度器(轮询调度)
[root@squid squid]# vim /etc/squid/squid.conf
59 http_port 80 vhost vport
60 cache_peer 172.25.254.142 parent 80 0 proxy-only name=web1 round-robin weight=2weight=2 # 权重,权重越大,说明这台proxy服务器越重要
61 cache_peer 172.25.254.134 parent 80 0 proxy-only name=web2 round-robin
round-robin # 轮询调度算法
name=web2 # 定义一个名字让后面的参数使用
62 cache_peer_domain web1 web2 www.westos.com # 将 www.westos.com 域名的请求通过 RR 轮询方式转发到2个父节点中的一个
[root@squid squid]# systemctl restart squid.service
浏览器测试,成功实现轮询,因为web1的权重为2,所以轮询时,web1要轮询2次,才会转到web2


Apache的代理服务器的配置 (正向代理 ,反向代理,轮询调度)的更多相关文章
- 正向代理/反向代理理解、Nginx概述、安装及配置详解
一.Nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理, ...
- nginx之旅(第三篇):代理、正向代理、反向代理、代理的原理、nginx反向代理场景、nginx反向代理配置、nginx反向代理语法
一.代理服务与反向代理 什么是代理服务 代理-代理办理(代理理财.代理收货.代理购物等等). 一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术.关于正向代理的概念如下: 正向代理(forw ...
- 理解squid的正向和反向代理
1.相同点: 访问的走向都是:客户端 -> 代理服务器 ->真实服务器 ->代理服务器->客户端 2.不同点:正向代理语义上更侧重于,让代理服务器去帮忙请求某个网址.让代理服务 ...
- ubuntu上配置nginx实现反向代理
反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...
- openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍
openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/u ...
- docker配置nginx做反向代理管理tomcat应用
由于业务开始复杂,单一tomcat已经不足以满足业务需求,多tomcat部署起来不方便而且面临域名解析问题,因此开始增加反向代理,由于docker的易用性,便使用docker管理各个应用. docke ...
- nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解
nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...
- 通过Apache配置web服务器反向代理
- 第一步: 到安装好的apache文件目录conf文件下,找到httpd.conf文件 找到如下配置,去掉#可以启动HTTP反向代理功能 : LoadModule proxy_module modu ...
- Nginx 之六: Nginx服务器的正向及反向代理功能
一:Nginx作为正向代理服务器: 1.正向代理:代理(proxy)服务也可以称为是正向代理,指的是将服务器部署在公司的网关,代理公司内部员工上外网的请求,可以起到一定的安全作用和管理限制作用,正向代 ...
随机推荐
- 使用索引别名和Rollover滚动创建索引
使用索引别名和Rollover滚动创建索引 在ElasticSearch6.3.2 集群做节点冷(warm) 热(hot) 分离中,实现了ElasticSearch集群节点的冷热分离,新创建的索引只允 ...
- 使用CodeFirst创建数据库
1.新建一个类库项目 2.右键管理Nuget程序包,搜索EntityFramework.然后安装 3.新建一个类,然后引用 using System.Data.Entity; 然后写类初始化方法(ba ...
- 微服务架构 ------ 插曲 Linux平台 Ubuntu的安装
1.一定要通过自定义安装 2.选择的硬件兼容性选择 14.x 这里介绍一下红框内的东西,是为了做虚拟存储使用的,也就是一批服务器对外展示位一个服务器,类似于服务器集群 3.选择稍后安装操作系统,如 ...
- Width Height -- (2)
上回说到,宽高对于块级元素和行内元素发生的改变,结果是块级元素会接受宽高属性所发生的改变的,而行内元素不接受宽高属性所发生的改变. 但是,事无绝对 —— CSS属性display 通过上回进行的测试我 ...
- 如何做一个跨平台的游戏App?
如何做一个跨平台的游戏App? iOS和安卓系统上的应用程序,根据提供的内容不同,按照开发方式和用户体验不同,可区分为app和游戏: 首先从开发方式不同来说明,app开发一般是用操作系统官方提供的开发 ...
- HubSpot company数据在UI上的展示和通过API方式进行获取
在网页查看所有的company: https://app.hubspot.com/contacts/6798828/companies/list/view/all/? 打开第一个名为SAP的compa ...
- WorkFlow一:WorkFlow基础配置
1.使用事物代码SWU3进入WF配置页. 2.展开第一个运行环境维护文件夹,选中第一个配置RFC目标,点击生成.完成后可点击运行按钮测试是否成功. 同上,挨个激活. 3.激活第二个文件夹‘维护环境定义 ...
- MySQL事务优化
====================事务特性 事务隔离级别 事务控制语句 MySQL优化==================== 事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全 ...
- ZABBIX监控TCP连接状态
一.获取监控数据 # /bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' LISTEN ESTABLISHED T ...
- InterpretML 微软可解释性机器学习包
InterpretML InterpretML: A Unified Framework for Machine Learning Interpretability https://github.co ...