Squid代理服务器
缓存代理概念:
代理的基本类型
- 传统代理:适用于Internet,需要明确指定服务端
- 透明代理:客户机不需指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理
- 反向代理:如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的Web服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存再本地,供下一个请求者使用
使用代理的好处
- 提高Web访问速度
- 隐藏客户机的真实IP地址
Squid代理服务器
Squid主要提供缓存加速,应用层过滤控制的功能
代理的工作机制
- 代替客户机向网页请求数据,从而可以隐藏用户的真实IP地址
- 将获得的网页数据(静态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访问控制通过一下两个步骤实现
- 使用acl配置项定义需要控制的条件:
- 通过http_access配置项对已定义的列表做“允许”或“拒绝”访问的控制
1、定义访问控制列表


启动对象列表管理





Squid日志分析
安装图像处理软件包













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

##访问


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



##小知识

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




浙公网安备 33010602011771号