目录
一,缓存代理概述
1,web代理的工作机制
缓存网页对象,减少重复请求
代理的工作机制:
代替客户机向网站请求数据,从而可以隐藏用户 的真实 IP 地址,起到一定的保护作用。
将获得的网页数据(静态 web 元素)保存到缓存中并发给客户机,以便下次请求相同的数据时加快响应速度
2,代理的基本类型
1,传统代理:适用于Internet,需明确指定服务端
2,透明代理:客户机不需指定代理服务器的地址和端口,而通过默认路由和防火墙策略将web访问重定向给代理服务器处理
3,反向代理:如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理服务器将向后台的WEB服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。
代理的好处:
1,提高web的访问速度
2,隐藏客户机的真实ip
3,代理服务器的概念和作用
代理服务器是一个位于客户端和原始(资源))服务器之间的服务器,为了从原始服务器取得内容,客户端向代理服务器发送一个请求并指定目标原始服务器,然后代理服务器向原始服务器转交请求并将获得的内容返回给客户端。
代理服务器的主要作用
资源获取:代替客户端实现从原始服务器的资源获取;
加速访问:代理服务器可能离原始服务器更近,从而起到一定的加速作用;
缓存作用:代理服务器保存从原始服务器所获取的资源,从而实现客户端快速
隐藏真实地址:代理服务器代替客户端去获取原始服务器资源,从而隐藏客户端真实信息。
二,实际操作
1,编译安装squid
关闭防火墙和seliunx
[root@localhost opt]# systemctl stop firewalld
[root@localhost opt]# setenforce 0
安装环境依赖包
[root@localhost opt]# yum install -y gcc gcc-c++ make
已加载插件:fastestmirror, langpacks
centos | 3.6 kB 00:00
Loading mirror speeds from cached hostfile
软件包 gcc-4.8.5-16.el7.x86_64 已安装并且是最新版本
软件包 gcc-c++-4.8.5-16.el7.x86_64 已安装并且是最新版本
软件包 1:make-3.82-23.el7.x86_64 已安装并且是最新版本
无须任何处理
解压安装包,编译安装
[root@localhost opt]# rz -E ##将安装包传进指定目录
rz waiting to receive.
[root@localhost opt]# ls
squid-3.5.27.tar.gz
[root@localhost opt]#
[root@localhost opt]# tar xf squid-3.5.27.tar.gz ##解压不能带z选项
[root@localhost opt]# ls
squid-3.5.27 squid-3.5.27.tar.gz
编译安装
[root@localhost opt]# cd squid-3.5.27/
[root@localhost squid-3.5.27]# ./configure --prefix=/usr/local/squid --
sysconfdir=/etc --enable-arp-acl --enable-linux-netfilter --enable-linux
-tproxy --enable-async-io=100 --enable-err-language="Simplify_Chinese"
--enable-underscore --disable-poll --enable-epoll --enable-gnuregex
各字段的含义
./configure --prefix=/usr/local/squid ##安装目录
--sysconfdir=/etc/ ##单独将配置文件修改到/etc目录下
--enable-arp-acl ##可在ACL中设置通过MAC地址进行管理,防止IP欺骗--enable-linux-netfilter ##使用内核过滤
--enable-linux-tproxy ##支持透明模式
--enable-async-io=100 ##异步I/O,提升储存性能,值可修改
--enable-err-language="Simplify_Chinese" ##错误信息的显示语言
--enable-underscore ##允许URL中有下划线
--enable-poll ##使用Poll()模式,提升性能
--enable-gnuregex
[root@localhost squid-3.5.27]# make && make install
<