Squid缓存服务器

来源:互联网 发布:mac登录qq显示什么在线 编辑:程序博客网 时间:2024/06/06 00:18


squid生成的文件

 
/etc/NetworkManager/dispatcher.d/20-squid
 
控制脚本。


/etc/httpd/conf.d/squid.conf
 
squid的web管理界面的配置文件。
 

/etc/logrotate.d/squid
  
squid日志滚动的配置文件。

 
/etc/pam.d/squid
  
squid的pam认证相关的配置文件。

 
/etc/rc.d/init.d/squid
  
squid的服务脚本。
 

/etc/squid
  
squid配置文件所在目录,在该目录中所有以default结尾的文件均为配置文件的备份文件。

 
/etc/squid/cachemgr.conf
  
与squid的web管理页面相关的配置文件。
 

/etc/squid/errorpage.css
  
错误页面的样式表的配置文件。
 

/etc/squid/mime.conf
  
支持的媒体类型的配置文件。

 
/etc/squid/msntauth.conf
  
基于msnt认证的配置文件。

 
/etc/squid/squid.conf
  
squid的主配置文件。
 

/etc/sysconfig/squid
  
squid的服务脚本的配置文件。
 
/usr/bin/squidclient
  
squid客户端管理工具,能够通过命令行的方式获取squid的运行信息,但是依赖于squid的web页面,实质上就是squid的文件的web。

 
/usr/lib64/squid/
  
squid所需的库文件所在的目录。
 


/usr/sbin/squid
  
squid的命令工具。
 

/usr/share/doc/squid-3.1.23
  
squid的相关文档。
 

/usr/share/squid/errors
  
squid的不同语言的错误页面,主要用于squid的web页面中。

 
/usr/share/squid/icons
  
squid的web页面中所使用的图标所在的目录。

 
/var/log/squid
  
squid的日志所在的目录。
 

/var/spool/squid
  
缓存数据所存放的目录。

配置文件中的指令:

 
acl manager proto cache_object
  
cache_object是squid的专有的控制缓存的协议,设置一个访问控制列表,其表名为manager。
 

acl localhost src 127.0.0.1/32 ::1
  
设置一个名为localhost的访问控制列表,这个访问控制列表仅限制来源ip在127.0.0.1/32网段内的主机。

 
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
  
是指一个名为to_localhost的访问控制列表,这个访问控制列表仅限制访问的目标ip为127.0.0.0/8网段内的主机。
 

acl SSL_ports port 443
  
定义一个名为SSL_ports的访问控制列表,用于定义443端口的。

 
acl CONNECT method CONNECT
  
定义一个名为CONNECT的访问控制列表,用于控制http的请求的方法,而CONNECT也是http的方法之一。
 
 
 
http_access allow manager localhost
  允许名为manager和localhost的访问列表中的规则。
 

http_access deny manager
  拒绝名为manager中的访问列表中的规则。
 

http_access deny !Safe_ports
  拒绝访问Safe_ports定义的端口以外的目标端口。

 
http_port 3128
  
定义squid监听的代理端口,此处的http_port也可以使用IP:port的形式指定。

 
cache_dir ufs /var/spool/squid 100 16 256
  
定义缓存目录的位置为/var/spool/squid下,ufs用于定义缓存使用的机制,同时定义缓存允许使用空间为100m,
一级子目录为16个,每个一级子目录下生成二级子目录为256个。
 
coredump_dir /var/spool/squid
  
定义内核转储目录,当squid内存中的缓存与磁盘上那些目录中的数据进行交换。

 refresh_pattern ^ftp: 1440 20% 10080
  
定义缓存的过期校验参数,1440即为缓存最少存活时长,如果缓存存放时长小于1440则一定不会被清除,10080为缓存最长时长,
如果缓存存活的时长超出10080则一定被清除。


squid [option]
 [option]:
  
-f:以指定的配置文件启动,默认读取/etc/squid/squid.conf作为启动配置文件。
  
-k:向squid传递一个参数。
   
reconfigure:重新载入配置文件。
   
rotate:日志滚动。
   
shutdown:停止squid服务。
   
interrupt:立即关闭squid,哪怕当前有连接仍然关闭。
   
kill:发送kill信号给squid进程。
   
debug:调试模式。
   
check:简单的检查运行中的squid进程。
   
parse:检查squid的配置文件中是否有语法错误,并输出生效的配置。
  
-v:显示squid的版本信息。
  
-z:初始化缓存,并在/var/spool/squid/目录下生成指定的缓存目录。
  
-N:指定squid运行在前台。


 
acl to_net 
dst 0.0.0.0
 
acl local_net src 192.168.1.0/24
语法:
acl ACL_NAME ARGUMENTS STRINGS
 
ACL_NAME:定义的当前的访问控制列表的名字。
 
TYPE STRINGS:定义类型与类型相对应的字符串,
例如:
  
<src|dst> <ip|net|host|domain_name>...
  
<srcdomain|dstdomain> <domain_name>...
   
需要注意的是尽管src和srcdomain都允许通过域名的方式实现控制,但src的关键字中仍然使用的是域名对应的IP进行访问控制
,如果在一次解析中squid已经将域名以及当前所对应的ip缓存下载,当域名与ip的对应关系变更后,src则无法实现访问控制。
  
acl safe port 443 80
  
http_access allow safe
  
port <port|port1-port2>...
 
  
控制访问原始服务器的端口。
  
acl dan method PUT
  
http_access deny dan
  
method <GET|PUT|POST|DELETE...>...
   
定义访问目标主机的的方法。
  
protocol <http|ftp|https>...
   
定义访问目录主机的协议。
  
acl network time  12:00-13:30
  
http_access allow network
  
time <DAY #1-#2>
   
DAY用于定义周几,S(sunday)、M(monday)、T(tuesday)、W(wednesday)、H(thursday)、F(friday)、A(saturday)、D(all weekdays),
#1-#2用于定义每天具体的时间段,时间段的定义需要使用24小时制来指定,#1小于#2,#1-#2所指定的时间段仅在某一天内的时间段。
 
maxconn #
   定义来自于客户端的最大连接数。
  
acl web_browser browser ie6
  
http_access deny web_browser
  
browser BROWSER_NAME
   
定义访问的浏览器的类型。
   
  
acl QQ url_regex .*qq.*
  
http_access deny QQ
  
url_regex URI_REGEX
   
定义以正则表达式匹配URL中的任何部分,如:
   
acl bbs url_regex -i ^ftp://.*/.jpg$
  
注意:acl仅用于定义访问列表,而真正实现访问控制的是通过http_access <deny|allow>来实现的。



0 0
原创粉丝点击