Squid代理----基础理论+传统代理和透明代理搭建

本文详细介绍了Squid缓存代理的基本概念、功能和工作流程,包括传统代理和透明代理的搭建步骤。Squid能够缓存Web内容,提高访问速度,并提供访问控制。实验部分展示了在CentOS环境下部署Squid的传统和透明代理,以实现代理服务器的不同应用方式。
摘要由CSDN通过智能技术生成

前言:

Squid是Web的缓存代理,支持HTTP,HTTPS,FTP等。通过缓存和重用经常请求的网页,它减少了带宽并缩短了响应时间。Squid具有广泛的访问控制,是一个出色的服务器加速器。它可以在大多数可用的操作系统(包括Windows)上运行,并且已获得GNU GPL的许可。

一、Squid概述
1.1 Squid 缓存服务器
  • Squid缓存服务器:即用来存储(内存及硬盘)用户访问的网页、图片、文件*等等信息的专用服务器,这种服务器不仅可以使用户最快的得到他们想要的信息,而且大大减少了网络传输的数据量,缓存服务器经常是代理服务器。对于用户是不可见。
1.2 Squid 概述
  • Squid是一款缓存internet数据的软件,它接收用户的下载申请,并自动处理所下载的数据。
  • 当一个用户象要访问一个url时,它向Squid发出一个申请,请求squid替它下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid将缓存的该页面立即传给用户,加速用户的访问。
  • Squid 可以代理HTTP, FTP, GOPHER, SSL 和 WAIS 协议,
  • Squid暂不能代理POP, NNTP等协议。
二、Squid 主要功能
  • ① 缓存网站内容,以达到为用户提供Web访问加速。
  • ② 对用户的Web访问进行过滤控制
  • ③ 热点缓存,只缓存访问热度到达设定级别的网站内容。
  • ④ 合并回源,多个相同的请求只回源一次。
  • ⑤ ACL访问控制,可针对源IP、目的地IP、域名、URL、访问时间、单一最大连接数限制访问行为。或通过外部程序验证访问者(proxy_auth)。
  • ⑥ 网页内容篡改,可根据需求篡改网站内容。
  • ⑦ 网站头部篡改,可根据需求篡改请求头部。
  • ⑧ 可针对不同的域名或url配置不同的缓存规则。
三、Squid 工作流程
3.1 Squid 简易工作流程图
3.1.1 Squid 工作流程
  • ① 当代理服务器中有客户端需求的数据时
    • 客户端向代理服务器发送数据请求
    • 代理服务器检查自己的数据缓存
    • 代理服务器在缓存中找到用户需要的数据,取出数据
    • 代理服务器将从缓存中取得的数据返回给客户端
  • ② 当代理服务器中没有客户端需求的数据时
    • 客户端向代理服务器发送数据请求
    • 代理服务器检查自己的数据缓存
    • 代理服务器向internet上的远端服务器发送数据请求
    • 远端服务器响应,返回相应的数据
    • 代理服务器取得元端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中
四、Squid三种代理服务器
4.1 Squid 代理类型
  • Squid 有三种代理类型

    传统代理:也叫做正向代理,适用internet,需要明确指定服务端

    透明代理:客户机不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理

    反向代理:反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载

4.2 Squid 三种代理服务器原理
  • ① 传统代理缓冲服务器

  • 前提条件

    • 必须在每一个内部主机的浏览器上明确指名代理服务器的IP地址和端口号
  • 工作流程

    • ① 客户端上网时,每次都把请求发送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。
    • ② 如果在本地缓冲区有目标文件,则直接将文件传给用户即可。
    • ③ 如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发送给客户端浏览器。
  • ② 透明代理缓冲服务器

  • 与传统代理服务器区别

    • 透明代理缓冲服务器和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口),对于linux操作系统来说,透明代理使用Iptables或者Ipchains实现。因此不需要对浏览器作任何设置。
  • 工作流程

    • 透明代理服务器阻断网络通信,并且过滤出访问外部的HTTP(80端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程web服务器发出请求,其余操作和标准的代理服务器完全相同。
  • ③ 反向代理缓冲服务器

  • 以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从内部服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外表现为一个服务器。

    • 作用

      ① 可以降低原始WEB服务器的负载。

      ② 反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。

      ③ 它位于WEB服务器和Internet之间,阻止了WEB服务器和Internet的直接通信。

  • 工作流程

    • 如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。
    • 如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发给用户。
4.3 三种代理应用场景
  • 正向代理(本地网关)

    • ① 正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。
    • ② 正向代理还可以使用缓存特性减少网络使用率。
    • ③ 正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安全措施以确保仅为经过授权的客户端提供服务。
  • 透明代理(cdn,架设于网络运营商主干机房)

    • ① 提高各个地区访问者的访问速度。
    • ② 减少源站压力。
    • ③ 减少网络运营商的网间结算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值