搭建一个大型网站架构的实验环境(Squid缓存服务器篇)第1/2页

2019-10-15 21:33:15王旭


http_port 192.168.100.254:3128

上述声明表示 Squid 绑定在 IP 地址 192.168.100.254 上,端口为 3128。端口可以设置为任意值,但要确认没有其他程序会使用同样的端口。/etc/services文件列出了常用端口,如果你想为squid设置其它的端口,可以参考这个文件的内容,防止重复设置。

visible_hostname 192.168.100.254

运行squid的主机的名字,可以写上该机器的IP地址。

[email]cache_mgrpangty@usa.net[/email]

管理员的邮件地址。在访问发生错误时,visible_hostname和cache_mgr这两个选项的值显示在错误提示页面内的相关位置。

cache_mem 16 MB

定义缓存内存,一般定义为物理内存大小的1/3。默认设置为8MB。

cache_dir Type Directory-Name Fs-specific-data [options]

定义硬盘缓存空间以存储访问过的页面或其它资源的拷贝。Type是指存储类型,一般设置为ufs。Directort-Name代表缓存的位置,默认的设置是cache_dir ufs /var/spool/squid 100 16 256。其中100代表缓存空间最大为100M;16和256代表缓存目录下的一级和二级目录数。

访问控制
控制用户的访问权限等功能是使用squid的访问控制特性来实现的。Squid 访问控制有两个要素:ACL和访问列表。访问列表可以允许或拒绝某些用户对特定服务的访问。

为了使用控制功能,必须先设置 ACL。ACL 声明的格式如下:

acl acl_element_name type_of_acl_element values_to_acl


下面列出一些重要的 ACL类型(type_of_acl_element)

l src : 源地址(即客户机IP地址)

l dst : 目标地址(即服务器IP地址)

l srcdomain : 源名称 (即客户机名称)

l dstdomain : 目标名称 (即服务器名称)

l time : 一天中的时刻和一周内的一天

l url_regex : URL 规则表达式匹配

l urlpath_regex: URL-path 规则表达式匹配,略去协议和主机名

l proxy_auth : 通过外部程序进行用户验证

l maxconn : 单一 IP 的最大连接数


注:
1. acl_element_name 可以是任一个在 ACL 中定义的名称。

2. 任何两个 ACL 元素不能用相同的名字。

3. 每个 ACL 由列表值组成。当进行匹配检测的时候,多个值由逻辑或运算连接;换言之,即任一 ACL的值被匹配,则这个 ACL即被匹配。
4. 并不是所有的 ACL都能使用访问列表中的全部类型。

5. 不同的 ACL写在不同行中,Squid 将把它们组合在一个列表中。

我们可以使用许多不同的访问列表。我们常用的是http_access: 允许 HTTP 访问,这个是主要的访问控制列表。

访问列表的规则由一些类似 'allow' 或 'deny' 的关键字构成,用以允许或拒绝向特定或一组 ACL 元素提供服务。


注:

1. 这些规则按照它们的排列顺序进行匹配检测,一旦检测到匹配的规则,匹配检测就立即结束。