一. 代理服务器的了解
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的代理服务器的配置 (正向代理 ,反向代理,轮询调度)的更多相关文章

  1. 正向代理/反向代理理解、Nginx概述、安装及配置详解

    一.Nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理, ...

  2. nginx之旅(第三篇):代理、正向代理、反向代理、代理的原理、nginx反向代理场景、nginx反向代理配置、nginx反向代理语法

    一.代理服务与反向代理 什么是代理服务 代理-代理办理(代理理财.代理收货.代理购物等等). 一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术.关于正向代理的概念如下: 正向代理(forw ...

  3. 理解squid的正向和反向代理

    1.相同点: 访问的走向都是:客户端 -> 代理服务器 ->真实服务器 ->代理服务器->客户端 2.不同点:正向代理语义上更侧重于,让代理服务器去帮忙请求某个网址.让代理服务 ...

  4. ubuntu上配置nginx实现反向代理

    反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...

  5. openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍

    openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/u ...

  6. docker配置nginx做反向代理管理tomcat应用

    由于业务开始复杂,单一tomcat已经不足以满足业务需求,多tomcat部署起来不方便而且面临域名解析问题,因此开始增加反向代理,由于docker的易用性,便使用docker管理各个应用. docke ...

  7. nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解

    nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...

  8. 通过Apache配置web服务器反向代理

    - 第一步: 到安装好的apache文件目录conf文件下,找到httpd.conf文件 找到如下配置,去掉#可以启动HTTP反向代理功能 : LoadModule proxy_module modu ...

  9. Nginx 之六: Nginx服务器的正向及反向代理功能

    一:Nginx作为正向代理服务器: 1.正向代理:代理(proxy)服务也可以称为是正向代理,指的是将服务器部署在公司的网关,代理公司内部员工上外网的请求,可以起到一定的安全作用和管理限制作用,正向代 ...

随机推荐

  1. kvm虚拟机日常管理与配置

    1.  查看KVM虚拟机配置文件及运行状态 (1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录是配置kvm虚拟机开机自启动目录.    (2) vir ...

  2. 【02】Kubernets:使用 kubeadm 部署 K8S 集群

    写在前面的话 通过上一节,知道了 K8S 有 Master / Node 组成,但是具体怎么个组成法,就是这一节具体谈的内容.概念性的东西我们会尽量以实验的形式将其复现. 部署 K8S 集群 互联网常 ...

  3. 【linux】【windows】查看你想访问的电脑Ip 和 端口是否 通畅

    常用查看IP是否通畅: 使用ping命令 ping 117.173.218.23 既想看IP又想看端口:使用telnet命令 telnet 117.173.218.23 9000 注意格式!!!

  4. SQLServer之列数据转换为行数据

    UNPIVOT特点 UNPIVOT运算符通过将列旋转到行来执行PIVOT的反向操作,UNPIVOT 并不完全是 PIVOT 的逆操作. PIVOT 执行聚合,并将多个可能的行合并为输出中的一行.UNP ...

  5. Flask模板渲染

    目录 Flask模板渲染 Jinja2模板引擎简介 模板 Jinja2 模板变量 变量 控制结构 宏,类似Python代码中的函数 模板继承 包含(Include) 过滤器 链式调用 常见内建过滤器 ...

  6. Width Height -- (2)

    上回说到,宽高对于块级元素和行内元素发生的改变,结果是块级元素会接受宽高属性所发生的改变的,而行内元素不接受宽高属性所发生的改变. 但是,事无绝对 —— CSS属性display 通过上回进行的测试我 ...

  7. 手机网页唤醒支付宝APP发送加好友验证

    手机网页唤醒支付宝APP发送加好友验证 <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...

  8. WorkFlow三:配BO对象,事件触发工作流

    1.新建个BO对象的字段. 2.新建取数函数: 3.运行事物代码SWO1新建BO对象. 4.新建关键字段: 5.新建BO对象的事件: 6.添加处理方法: 6.调整对象状态,这里是本地对象,不需要释放, ...

  9. ASM磁盘操作笔记

    添加磁盘组 create diskgroup abc normal redundancy failgroup a disk 'ORCL:AAA' name AAA failgroup b disk ' ...

  10. Elasticsearch 在 7.X版本中去除type的概念

    背景说明 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. El ...