Squid中文权威指南第四章

2009-05-13 12:00:16来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

第4章 快速配置向导4.1
[url=javascript:;]squid[/url]
.conf语法
Squid的配置文件相对规范。它与其他许多unix程序相似。每行以配置指令开始,后面跟着数字值或关键字。在读取配置文件时,squid忽略空行和注释掉的行(以#开始)。如下是一些配置行示例:
cache_log /squid/var/cache.log
        
# define the localhost ACL
   
acl Localhost src 127.0.0.1/32
   
connect_timeout 2 minutes
   
log_fqdn on
某些指令取唯一值。在这些情形下,重复赋予该指令不同的值,将覆盖前面的值。例如,下面是一个连接超时值。第一行无效,因为第二行覆盖了它:
connect_timeout 2 minutes
   
connect_timeout 1 hour
另外,某些指令取列表值。在这些情形下,每一个新增的值都有效。"扩展方式"指令以这种方法工作:
extension_methods UNGET
extension_methods UNPUT
extension_methods UNPOST
对这些基于列表的指令,你通常能在同一行中赋予多个值:
extension_methods UNGET UNPUT UNPOST
许多指令有通用类型。例如,连接超时值是一个时间规范,在数字后面跟着时间单元。例如:
connect_timeout 3 hours
   
client_lifetime 4 days
   
negative_ttl 27 minutes
类似的,大量的指令指向文件大小或者内存额度。例如,你可以这样编写大小规范:十进制数字后面跟bytes,KB,MB或GB.例如:
minimum_object_size 12 bytes
   
request_header_max_size 10 KB
   
maximum_object_size 187 MB
另一种值得提起的类型是触发器,它的值是on或者off。许多指令
[url=javascript:;]使用[/url]
该类型。例如:
server_persistent_connections on
   
strip_query_terms off
   
prefer_direct on
通常,配置文件指令能以任何顺序出现。然而,如果某个指令指向的值被其他指令所定义,那么顺序就很重要。访问控制列表是个好的例子。acl被用在http_access规则之前必须被定义:
acl Foo src 1.2.3.4
   
http_access deny Foo
squid.conf文件里的许多东西是大小写敏感的,例如指令名。你不能将http_port写成HTTP_port。
默认的squid.conf文件包含了对每个指令的大量注释,以及指令的默认值。例如:
#  TAG: persistent_request_timeout
#       How long to wait for the next HTTP request on a persistent
#       connection after the previous request completes.
   
#
   
#Default:
   
# persistent_request_timeout 1 minute
每次安装squid后,当前默认配置文件存放在$prefix/etc目录下的squid.conf.default。既然指令每次都有所改变,你能参考该文档,以获取最近的更新。
该章剩下的部分是关于在开始运行squid之前,你必须知道的少数指令。
4.2 User ID
你可能知道,unix进程和文件拥有文件和组属主的属性。你必须选择某个用户和组给squid。该用户和组的组合,必须对大部分squid相关的文件和目录有读和写的权限。
我高度推荐创建名为"squid"的用户和组。这避免了某人利用squid来读取系统中的其他文件。假如不止一个人拥有对squid的管理权限,你可以将他们加到squid组里。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Squid中文权威指南第三章

下一篇:Squid中文权威指南第五章