Squid代理服务器

缓存代理概念:

代理的基本类型

  • 传统代理:适用于Internet,需要明确指定服务端
  • 透明代理:客户机不需指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理
  • 反向代理:如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的Web服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存再本地,供下一个请求者使用

使用代理的好处

  • 提高Web访问速度
  • 隐藏客户机的真实IP地址

Squid代理服务器

Squid主要提供缓存加速,应用层过滤控制的功能

代理的工作机制

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

代理服务器的概念及其作用:

代理服务器是一个位于客户端和原始(资源)服务器之间的服务器,为了从原始服务器取得内容,客户端代理服务器发送一个请求并指定目标原始服务器,然后代理服务器向原始服务器转交请求将获得内容返回给客户端

其主要作用:

  • 资源获取:代替客户端实现从原始服务器的资源获取
  • 加速访问:代理服务器可能离原始服务器更近,从而起到一定的加速作用
  • 缓存作用:代理服务器保存从原始服务器所获取的资源,从而实现客户端快速的获取
  • 隐藏真实地址:代理服务器代替客户端去获取原始服务器资源,从而隐藏客户端真实信息

安装Squid服务

1、编译安装Squid

 

 2、修改Squid的配置文件

 3、Squid的运行控制

 4、创建squid服务脚本

 

 构建传统代理服务器

 生产环境中还需要修改防火墙规则

 

 

##查看Web访问日志的新增记录

##查看访squid问日志的新增记录

 构建透明代理服务器

Squid服务器

 

 

 

 

 Web服务器

 

 

 

 

 

 

 ##查看Web访问日志的新增记录,显示的由代理服务器的外网口代替客户机在访问

 

 ##查看squid访问日志的新增记录

 

 总结:

 

 

 

 代理模式下,始终是要用squid'向web服务器发送请求

传统模式,事先就会在浏览器设置代理的IP和端口

透明模式下,不需要事先设置,只需要直接访问web服务器即可,但是在经过squid作为网关的时候会被iptables规则重定向到squid的3128端口,最终仍然会被squid进行转发

 ACL访问控制

常用的ACL列表类型

src 源地址
dst 目标地址
port 目标端口
dstdomain 目标域
time 访问时间
maxconn 最大并发连接

url_regex

目标URL地址

Urlpath_regex

整个目标URL路径

 

 

 

 

 

 

 

ACL规则优先级:

  • 一个用户访问代理服务器时,Squid会顺序匹配Squid中定义的所有规则列表,一旦匹配成功,立即停止匹配
  • 所有规则都不匹配时,Squid会使用与最后一条相反的规则

在配置文件squid.conf中,ACL访问控制通过一下两个步骤实现

  1. 使用acl配置项定义需要控制的条件:
  2. 通过http_access配置项对已定义的列表做“允许”或“拒绝”访问的控制

1、定义访问控制列表

 

 

 

 启动对象列表管理

 

 

 

 

 

 

 

 

 Squid日志分析

安装图像处理软件包

 

 

 

 

 

 

 

 

 

 

 

 

 

 ##添加不计入站点文件,添加的域名将不被显示在排序中

 ##访问

 

 添加计划任务,执行每天生成报告

 

##小知识

 

 Squid反向代理

如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端:否则反向代理服务器的后台Web服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用

工作机制:

  • 缓存网页对象:减少重复请求
  • 将互联网请求轮训或按权分配到内网Web服务器
  • 代理用户请求,避免用户直接访问Web服务器,提高安全

 

 

 

 

 

 

posted @ 2021-09-08 22:51  盛世丑八怪  阅读(151)  评论(0)    收藏  举报