首页 > 代码库 > squid的配置及功能的设置
squid的配置及功能的设置
squid正向代理
正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。从某种意义上说,“客户端和正向代理服务器像是位于同一个局域网”。正向代理服务器的主要目的是缓存数据来响应客户端的 HTTP 请求,一般都会进行用户访问控制,使用时需要在浏览器中进行 IP 和端口设置。正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性(由mod_cache提供)减少网络使用率。
功能:
1.共享网络
2.加快访问速度,节约通信带宽
3.防止内部主机受到攻击
4.限制用户访问,完善网络管理
服务名:squid
主程序:/usr/sbin/squid
配置目录:/etc/squid
主配置文件:/etc/squid/squid.conf
监听tcp端口号:3128
默认访问日志文件:/var/log/squid/access.log
squid常用配置选项
/etc/squid/squid.conf
http_port 3128 (还可以只监听一个IP http_port 192.168.0.1:3128)
cache_mem 64MB #缓存占内存大小
maximum_object_size 4096KB #最大缓存块
reply_body_max_size 1024000 allow all #限定下载文件大小
access_log /var/log/squid/access.log #访问日志存放的地方
visible_hostname proxy.test.xom #可见的主机名
cache_dir ufs /var/spool/squid 100 16 256
#ufs:缓存数据的存储格式
#/var/spool/squid 缓存目录
#100:缓存目录占磁盘空间大小(M)
#16:缓存空间一级子目录个数
#256:缓存空间二级子目录个数
cache_mgr webmaster@test.com #定义管理员邮箱
http_access deny all #访问控制
squid安装
1.安装可以使用yum -y install squid或者下载源码包安装都可以。
yum install -y squid
2.squid主配置文件是/etc/squid/squid.conf ,最基本配置如下:
http_port 3128 设置监听的端口和ip
cache_mem 64 MB 设置内存缓冲的大小
cache_dir ufs /var/spool/squid 100 16 256 设置硬盘缓冲大小
cache_dffective_usersquid 设置缓存的有效用户
cache_effective_groupsquid 设置缓存的有效用户组
dns_nameservers 192.168.0.253 设置dns服务器地址,一般可以不设置
cache_access_log /var/log/squid/access.log 设置访问日志文件
cache_log /var/log/squid/cache.log 设置缓存日志文件
cache_store_log /var/log/squid/cache.log 设置缓存日志文件
visible_hostname bob 设置squid主机名称
cache_mgr 123@126.com 设置管理员邮箱
acl all src 0.0.0.0/24 设置访问控制列表
http_access allow all 设置访问权限
默认搭建好的squid是允许访问所有的站点的,例如限制
acl http proto HTTP
acl good dstdomain .baidu.com .qq.com
http_access deny good
缓存数据的类型
refresh_pattern \.(jpg|png|fig|js|css|mp3|mp4) 1440 20% 2800 ignore-reload
设置允许那些ip可以使用proxy
acl inside src 192.168.1.0/24
http_access allow inside
http_access deny all
在定义多个网站的时候,可以定义在一个文档里
acl allsite dstdomain "/etc/squid/allowsite.txt"
http_access allow allsite
http_access deny !allsite
进入/etc/squid目录下创建allsite文本
touch allsite
吧允许访问的网站写入到该文本即可
如:
.baidu.com
.qq.com
同样也可以对ip限制
acl sdIP src "/etc/squid/sdIP.txt"
vim /etc/squid/sdIP.txt 添加ip,每行写一个ip
192.168.1.1
192.168.2.1
http_access allow sdIP allsite #设置单独的ip允许访问单独的站点
设置单独的ip,允许访问某个站点
acl ashleycai src 192.168.1.14/32
acl ashleyip dstdomain .qq.com
http_access allow ashleycai ashleyip
定义ip和定义站点
acl aaip src 192.168.1.1
acl qq dstdomain .qq.com
定义时间段
acl accesstime time 8:00-11:45
acl accesstime time 13:00-22:00
定义特定的文件类型
acl mp3 urlpath_regex -i \.mp3
acl mp4 urlpath_regex -i \.mp4
acl flv urlpath_regex -i \.flv
定义特定的文件类型文件
acl badfile urlpath_regex -i "/etc/squid/badfile.txt"
squid取消错误页面出现的版本信息
vim /etc/squid/squid.conf
启用如下选项:httpd_suppress_version_string on
重新加载squid配置
service squid reload
squid常用命令:
/usr/local/squid/sbin/squid -z 初始化缓存空间
/usr/local/squid/sbin/squid 启动
/usr/local/squid/sbin/squid -k shutdown 停止
/usr/local/squid/sbin/squid -k reconfigure 重新载入配置文件
/usr/local/squid/sbin/squid -k rotate 轮循日志
参考:
http://www.cnblogs.com/cherishry/p/5706736.html
squid的配置及功能的设置