squid的配置文件的配置选项

我是在bbs.chinaunix.net看到的。

帖子地址如下:

http://bbs.chinaunix.net/viewthread.php?tid=63081&extra=page%3D3%26filter%3Ddigest

 

4.1常用的配置选项
因为缺省的配置文件有问题,所以我们必须首先修改该配置文件的有关内容,以便让squid跑起来。
下面我们来看一看squid.conf文件的结构以及一些常用的选项:
squid.conf配置文件的可以分为十三个部分,这十三个部分分别是:
1.NETWORK OPTIONS (有关的网络选项)
2.OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM (作用于邻居选择算 法的有关选项)
3.OPTIONS WHICH AFFECT THE CACHE SIZE (定义cache大小的有关选项)
4.LOGFILE PATHNAMES AND CACHE DIRECTORIES (定义日志文件的路径及cache的目录)
5.OPTIONS FOR EXTERNAL SUPPORT PROGRAMS (外部支持程序选项)
6.OPTIONS FOR TUNING THE CACHE (调整cache的选项)
7.TIMEOUTS (超时)
8.ACCESS CONTROLS (访问控制)
9.ADMINISTRATIVE PARAMETERS (管理参数)
10.OPTIONS FOR THE CACHE REGISTRATION SERVICE (cache注册服务选项)
11.HTTPD-ACCELERATOR OPTIONS (HTTPD加速选项)
12.MISCELLANEOUS (杂项)
13.DELAY POOL PARAMETERS (延时池参数)
虽然squid的配置文件很庞大,但是如果你只是为一个中小型网络提供代理服务,并且只准备使用一台服务器,那么,你只需要修改配置文件中的几个选项。这些几个常用选项分别是:
1.http_port
说明:定义squid监听HTTP客户连接请求的端口。缺省是3128,如果使用HTTPD加速模式 则为80。你可以指定多个端口,但是所有指定的端口都必须在一条命令行上。
2.cache_mem (bytes)
说明:该选项用于指定squid可以使用的内存的理想值。这部分内存被用来存储以下对象 :
In-Transit objects (传入的对象)
Hot Objects (热对象,即用户常访问的对象)
Negative-Cached objects (消极存储的对象)
需要注意的是,这并没有指明squid所使用的内存一定不能超过该值,其实,该选项只 定义了squid所使用的内存的一个方面,squid还在其他方面使用内存。所以squid实际 使用的内存可能超过该值。缺省值为8MB。
3.cache_dir Directory-Name Mbytes Level-1 Level2
说明:指定squid用来存储对象的交换空间的大小及其目录结构。可以用多个cache_dir命令来定义多个这样的交换空间,并且这些交换空间可以分布不同的磁盘分区。"directory "指明了该交换空间的顶级目录。如果你想用整个磁盘来作为交换空间,那么你可以将该目录作为装载点将整个磁盘mount上去。缺省值为/var/spool/squid。“Mbytes”定义了可用的空间总量。需要注意的是,squid进程必须拥有对该目录的读写权力。“Level-1”是可以在该顶级目录下建立的第一级子目录的数目,缺省值为16。同理,“Level-2”是可以建立的第二级子目录的数目,缺省值为256。为什么要定义这么多子目录呢?这是因为如果子目录太少,则存储在一个子目录下的文件数目将大大增加,这也会导致系统寻找某一个文件的时间大大增加,从而使系统的整体性能急剧降低。所以,为了减少每个目录下的文件数量,我们必须增加所使用的目录的数量。如果仅仅使用一级子目录则顶级目录下的子目录数目太大了,所以我们使用两级子目录结构。
那么,怎么来确定你的系统所需要的子目录数目呢?我们可以用下面的公式来估算。
已知量:
DS = 可用交换空间总量(单位KB)/ 交换空间数目
OS = 平均每个对象的大小= 20k
NO = 平均每个二级子目录所存储的对象数目 = 256
未知量:
L1 = 一级子目录的数量
L2 = 二级子目录的数量
计算公式:
L1 x L2 = DS / OS / NO
注意这是个不定方程,可以有多个解。
4.acl
说明:定义访问控制列表。
定义语法为:
acl aclname acltype string1 ...
acl aclname acltype "file" ...
当使用文件时,该文件的格式为每行包含一个条目。
acltype 可以是 src dst srcdomain dstdomain url_pattern urlpath_pattern time port proto method browser user 中的一种。
分别说明如下:
src 指明源地址。可以用以下的方法指定:
acl aclname src ip-address/netmask ... (客户ip地址)
acl aclname src addr1-addr2/netmask ... (地址范围)
dst 指明目标地址。语法为:
acl aclname dst ip-address/netmask ... (即客户请求的服务器的ip地址)
srcdomain 指明客户所属的域。语法为:
acl aclname srcdomain foo.com ... squid将根据客户ip反向查询DNS。
dstdomain 指明请求服务器所属的域。语法为:
acl aclname dstdomain foo.com ... 由客户请求的URL决定。
注意,如果用户使用服务器ip而非完整的域名时,squid将进行反向的DNS解析来确 定其完整域名,如果失败就记录为“none”。
time 指明访问时间。语法如下:
acl aclname time [day-abbrevs] [h1:m1-h2][hh:mm-hh]
day-abbrevs:
S - Sunday
M - Monday
T - Tuesday
W - Wednesday
H - Thursday
F - Friday
A - Saturday
h1:m1 必须小于 h2:m2,表达示为[hh:mm-hh]。
port 指定访问端口。可以指定多个端口,比如:
acl aclname port 80 70 21 ...
acl aclname port 0-1024 ... (指定一个端口范围)
proto 指定使用协议。可以指定多个协议:
acl aclname proto HTTP FTP ...
method 指定请求方法。比如:
acl aclname method GET POST ...
5.http_access
说明:根据访问控制列表允许或禁止某一类用户访问。
如果某个访问没有相符合的项目,则缺省为应用最后一条项目的“非”。比如最后一条为允许,则缺省就是禁止。所以,通常应该把最后的条目设为"deny all" 或 "allow all" 来避免安全性隐患。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值