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)服务也可以称为是正向代理,指的是将服务器部署在公司的网关,代理公司内部员工上外网的请求,可以起到一定的安全作用和管理限制作用,正向代 ...
随机推荐
- scala中分组的算子的用法
val rdd= sc.parallelize(List(("tom",1),("jerry",3),("kitty",2),(" ...
- WPF 精修篇 BackgroundWorker
原文:WPF 精修篇 BackgroundWorker 效果 <Grid> <Grid.RowDefinitions> <RowDefinition Height=&qu ...
- 阿里云 centos 无法执行moodle cron
在阿里云服务器安装moodle时,在执行cron计划任务时,报错sendmail: fatal: parameter inet_interfaces: no local interface found ...
- ASP.NET MVC自定义Module记录管道事件执行顺序
1. 在Visual Studio 新建项目,模板为空,下面结构选择MVC. 2. 在项目中新建一个类MyModule,实现IHttpModule接口 namespace SimpleApp.Infr ...
- A - A Compatible Pair-biaobiao88
A - A Compatible Pair Nian is a monster which lives deep in the oceans. Once a year, it shows up on ...
- 关于spring中请求返回值的json序列化/反序列化问题
https://cloud.tencent.com/developer/article/1381083 https://www.jianshu.com/p/db07543ffe0a 先留个坑
- SpringBoot健康检查实现原理
相信看完之前文章的同学都知道了SpringBoot自动装配的套路了,直接看spring.factories文件,当我们使用的时候只需要引入如下依赖 <dependency> <gro ...
- 一、VUE基础回顾1
1.v-if和v-show v-if 和v-show都可以显示和隐藏元素: 区别:(1)v-if初始值为false那么这个元素不会被渲染 ,v-show不管初始值为何值都会被渲染 (2)v-if是控制 ...
- uni-app项目记录
1.如何定义一个全局属性 在App.vue 文件中,以 global.属性名= XXX; 定义 在其他页面就以 global.属性名来调用 或者在min.js 中使用 Vue.prototype 挂载 ...
- rpm安装包制作
RPM是RPM Package Manager(RPM软件包管理器) 1. 安装制作工具 # yum install rpm-build 2. 目录结构 /root/rpmbuild/SOURCES ...