代理 - Squid
00 分钟
2024-6-25
Created
Jun 6, 2024 03:36 AM
Tags

SQUID 代理

官方文档:

代理

  • 正向代理
位于客户端网络或位于互联网中
用来代替客户端请求外部服务器的设备或软件
  • 反向代理
位于后端服务器集群中
用来代替应用服务器接收客户端请求,通过一定条件匹配完成任务调度和分配的服务器

代理 的工作机制

代替客户机向网站请求数据,从而可以隐藏用户的真实 IP 地址。
将获得的网页数据(静态 Web 元素)保存到缓存中并发送给客户机,以便下次请求相同的数据时快速响应。

反向代理 的工作机制

如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理服务器将向后台的 WEB 服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。
缓存网页对象,减少重复请求
将互联网请求轮训或按权重分配到内网 Web 服务器
代理用户请求,避免用户直接访问Web服务器,提高安全

Squid 代理

鱿鱼

简介

squid 是一种用来缓存 Internet 数据的软件,主要提供缓存加速、应用层过滤控制的功能。

类型

  • 传统代理
    • 客户端可以自由选择是否使用的代理模式
适用于 Internet,需在客户机指定代理服务器的地址和端口。
  • 透明代理
    • 客户端被强制走代理服务器的模式
客户机不需指定代理服务器的地址和端口,而是通过 默认路由防火墙策略 将 Web 访问重定向给代理服务器处理。

功能

  • 代理功能(标准代理/透明代理)
  • 缓存功能(正向代理)
  • 网管功能(访问控制功能)

作用

  • 通过缓存的方式为用户提供 web 访问加速
    • 例:游戏加速器
  • 对用户的 web 访问进行过滤控制(访问控制)

工作流程

Squid 代理工作流程图
Squid 代理工作流程图
  • 当代理服务器 没有客户端需要的数据(无缓存)时
    • 1、客户端向代理服务器发送数据请求
      2、代理服务器检查自己的数据缓存
      3、代理服务器无缓存
      4、代理服务器向web服务器发送数据缓存
      5、web服务器将请求处理后将相应结果给代理服务器
      6、代理服务器收到处理结果,将结果放入缓存并将结果响应给客户端
  • 当代理服务器 有客户需要的数据(有缓存)时
    • 1、客户端向代理服务器发送数据请求
      2、代理服务器检查自己的缓存
      3、代理服务器在缓存中找到用户需要的数据
      4、代理服务器向web服务器发送数据包确认内容是否更新
      5、无更新,代理服务器将缓存中的内容响应给客户端
      6、如有更新,则代理服务器重新发送数据请求

上一篇
Linux 基础知识 往期汇总
下一篇
<K8S> vol. 01 - kubernetes 组件