Windows下设置squidnt代理服务器(2)

By Jiang | 11月 1, 2006

Windows下设置squidnt代理服务器(1) 文中,已经简单介绍了squidnt的安装步骤。这次以实验室的代理服务器为例,介绍一下squidnt的配置。我们实验室内部只有一个ip,使用Window xp操作系统,Winroute做nat和过滤ip服务,squidnt做缓存代理服务器。squidnt通过二级代理服务器,让局域网内用户可以自由访问!freeip的网络。

squidnt配置文件在 c:\squid\etc 目录下,进入到此目录,复制 squid.conf.default 为 squid.conf,复制 mime.conf.default 为 mime.conf。mime.conf 基本不需要配置,下面主要介绍 squid.conf 的配置。

squid.conf 配置非常复杂,这里仅介绍一些必要的配置,以免使用的时候出现错误。更详细的配置请查询官方文档

cache_peer 61.183.11.195 parent 8080 0 no-query

#第一为hostname。
#第二为type 有 “parent” “sibling” “multicast”。
#在web cache的阶层里,同一个cache level里以sibling称之,在上位者则为parent,不过在整个 cache level中并没有很明显的分层,所以每一台主机有可能是sibling 或是 parent。当server收到request时,先对所有的sibling和parent送出ICP去询问,等待回应开始对第一个回应HIT的cache抓object,如没有人回覆HIT,就对先回覆 MISS的parent开始抓取,找到资料後送给host并自己cache起来,若都失败server便乖乖的自己去source抓取资料。
#第三为proxy_port 为cache主机的porxy port。
#第四为icp_port cache主机接收icp的port,通常为3130。此处为0。
#第五为option 有proxy-only、weight=n、ttl=n、no-query、default、round-robin、 multicast-responder等。当proxy server的储存空间很少时,可加上proxy-only,server便不会把资料 cache住,直接将资料送往client。Weight值为与parent间的依赖性,值越大依赖性越大,预设值为1。

http_port 8021
visible_hostname jiangzhanyong
cache_mgr jiangzhanyong
dns_nameservers 202.118.224.101

#以上四项分别为:
#代理服务器端口
#代理服务器名字,随便写
#代理服务器管理员email,随便写
#dns服务器

cache_store_log none
cache_log none
emulate_httpd_log off
cache_access_log c:/squid/var/logs/access.log

#以上为日志相关选项,如果你感希望分析日志,都可以记录下来,这里只是保留了最基本的登陆日志。

logfile_rotate 15

#logfile_rotate指定的数字即为打包并备份的文件的数量,当达到这一数目时,squid将删除最老的备份文件。默认值为1 0。如果想手动来进行这些操作,可以用logfile_rotate 0来取消自动操作。

cache_dir ufs c:/squid/var/cache 200 16 256

#缓存目录,大小(兆),第一级子目录个数 第二级子目录个数缓存大小可以依照自己随便设;不过一般的机器设为512M或者更小好点,IDE硬盘寻道比较慢,如果缓存做的过于巨大,对性能会有负面影响。

cache_swap_low 80
cache_swap_high 95

#在这里,squid会用c:/squid/var/cache目录作为保存缓存数据的目录,每次处理的缓存大小是32兆字节,当缓存空间使用达到95%时,新的内容将取代旧的而不直接添加到目录中,直到空间又下降到80%才停止这一活动。

cache_mem 40 MB

#内存使用,建议为内存的1/3

maximum_object_size 4096 KB

#大于该值得对象将不被存储。如果要提高访问速度,就降低该值;如果想最大限度的节约带宽,降低成本,就增加该值。

acl all src 0.0.0.0
acl X myport 8021
acl freeip dst “c:/squid/etc/freeip.txt”
acl allowin src “c:/squid/etc/allowin.txt”
acl conncount maxconn 20

#以上几项分别设定:
#设定 X 指代 8021端口
#freeip列表的文件位置
#允许使用代理的 ip 的文件位置
#单个ip最多允许的连接数

acl ports port 8880-8889
acl ports port 6881-6889
acl ports port 4660-4666
acl ports port 16881 18993 7089
acl ports port 46600-46699
acl ports port 7778 6969 6979

#说实话,没有看明白这些端口的意义,下面的规则禁止了访问这些端口

icp_port 0

#参数指定Squid从邻居(neighbour)服务器缓冲内发送和接收ICP请求的端口号。这里设置为0是因为这里配置Squid为内部Web服务器的加速器,所以不需要使用邻居服务器的缓冲。

half_closed_clients off

#half_closed_clients 参数貌似指定是否断开半关闭的客户端连接。

nonhierarchical_direct on

#By default, Squid sends any non-hierarchical requests (matching hierarchy_stoplist or not cachable request type) directly to origin servers. If you turn nonhierarchical_direct off, Squid will prefer to send these requests to neighbors.

forwarded_for off

#关闭此项将在访问某些论坛时显示的IP是unknown,
#如果打开则显示的是你client的内网IP

always_direct allow freeip X
never_direct allow !freeip X
http_access deny !allowin X
http_access deny ports all X
http_access allow all X

#最为关键的访问规则:X指代8021端口
#访问freeip,则直接访问
#访问!freeip,则不允许直接访问
#不允许allowin之外的ip访问
#不允许访问port列表内的端口
#其他的都允许访问

至此,squid.conf基本配置完毕。

参考资料:
本文主要参考了BBS紫丁香站网友mxmgy两篇对squidnt的介绍12,和网友jdg的squidnt配置。此外,还参考了 Squid Proxy Server基础入门用Squid构建高速的Proxy ServerLinux下Squid代理服务器的架设与维护(一)Linux下Squid代理服务器的架设与维护(二)等网络文章。

Topics: 软件使用 | 7,011 views | 关闭评论


Comments are closed.

LinkWorth
Hostgator

酷站链接 (Featured Links)

最新评论 (Recent Comments)

  • air jordan shoe: 不错,挺厉害的~~
  • Hairstyles: 原来链接这么重要!
  • Haircuts: 有空试一下看看
  • CHI Flat Iron: 哇,这么多插件啊,慢慢看!
  • 诗酒如画: 1)备份你的WordPress数据库 推荐用WordPress Database Backup在后台操作.下载备份的压缩包或者是传到自己邮箱里都可以. 如果直接在数据库中备份的话,记得选择UTF8编码,切记. 2)备份你的程序...
  • north face wholesale: en ,我会试一试的。

搜索 (Search)

合作伙伴

推荐站点 (Recommendations)

Partner links

WordPressChina
  • 原创博客联盟