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)服务也可以称为是正向代理,指的是将服务器部署在公司的网关,代理公司内部员工上外网的请求,可以起到一定的安全作用和管理限制作用,正向代 ...
随机推荐
- 趣文:如何通过给MM修电脑培养感情[转]
在修之前,向 MM 反复声明,这电脑故障是有硬件和软件之分的,如果是硬件故障,例如显卡风扇不转了,显示器连线老化,显示器分辨率超出显示器指标,等等都会导致黑屏啊,这个我不回家用专门的工具是修不好的! ...
- Mysql中分组函数
查询每个工种的最高薪资
- Layui 时间转换时间戳
我比较喜欢用Layui,当然也遇到一些坑!例如:绑定时间的时候是那种 是这种13位数据的日期,如果不经过转换是不能正常显示的,当然这是我遇到的问题不知道你们有没有遇到,后来我也是经过了解才知道怎么回事 ...
- BAT: 获取时间有空格问题
最近在项目上需要把文件定时备份,用BAT文件来自动生成文件夹名,精确到秒: bat脚本时间设定如下: pushd E:\Test set T=%date:~0,10%-%time:~0,2%%time ...
- 使用GitHub/码云/Git个性化设置
参考链接:https://www.liaoxuefeng.com/wiki/896043488029600/900937935629664 这似乎很可笑,我还从来没有想过为一个网站的使用方法写一篇来记 ...
- APS中生产计划排程模块的基本原理
高级计划系统(APS)作为ERP和MES的补充,用于协调物流.开发瓶颈资源和保证交货日期. APS包括需求和供应计划.运输和生产计划排程等各种供应链计划模块,本文主要介绍APS中生产计划排程模块的基本 ...
- scrapy-redis 0.6.8 配置信息
很多博客的db参数配置都不能用,所以记录一下该版本可用的配置 #启用Redis调度存储请求队列 SCHEDULER = "scrapy_redis.scheduler.Scheduler&q ...
- MySQL基础SQL命令---增删改查
1.表操作: create table tableName (id int(6) not null primary key auto_increatment,name varchar(10) not ...
- C 语言实现回调函数
优点 不需要改变调用的主函数,只需添加命令和相应函数. #include "stdio.h" #include "stdlib.h" #include &quo ...
- 开放API接口安全处理!
目录 概念 加密 MD5 Token 开放api参数 重复提交,恶意调用 日志 验证码 开放API接口安全处理! 参考文献: 公钥,私钥和数字签名这样最好理解 (转载) 概念 存在问题: 数据窃取 数 ...