首先下载 squid for Windows的下载地为: http://www.acmeconsulting.it/pagine/opensource/squid/SquidNT.htm
从网上下载的Squid for windows的二进制文件是压缩到zip文件里的,首先来解压缩这个文件,加压后会生成一个Squid的文件夹,将此文件夹拷贝到C:\,至此Squid for Windows算是被“安装”到你的Windows计算机了。(备注:Squid for windows的默认安装是在C:\squid下,当然,可以把Squid放到其他的路径,但是需要大量的配置squid配置文件中的路径信息,那样会比较麻烦)。
首先,单击[开始],选择“运行”,输入 cmd 打开Windows的“命令提示符” 窗口,在命令提示符窗口内输入以下命令:
C:\>cd c:\squid\etc
C:\squid\etc>copy squid.conf.default squid.conf **将Squid的默认配置文件复制一份并起名为squid.conf
C:\squid\etc>copy mime.conf.default mime.conf **将mime.conf.default复制一份并起名为mime.conf
下面,我们可以使用任意文本编辑器对squid.conf(配置文件)进行编辑,修改squid的配置语句,文件中的#后的文本表示注释。
首先,我们找到TAG: acl段,这里是定义访问Squid的IP地址及其对应的名称
我们在此段acl Safe_ports port 777 #multiling http后增加一个新行,写 “acl 名称 src IP地址”
示例:acl name1 src 192.168.100.0 #定义所有来自192.168.100.*的机器对应的名称为name1
然后我们找到TAG: http_access段,这里是定义允许访问squid的列表
我们在此段http_access deny CONNECT !SSL_ports后增加一个新行,写“http_access allow/deny 名称”,allow表示允许访问,deny表示拒
绝访问。
示例:http_access allow name1 #定义所有标识为name1(192.168.100.*)的机器允许访问squid代理服务器
并且在后面再增加一行 http_access deny all。
任何一个网络应用都会对应一个或N个端口,squid的默认端口是3128,如果要更改,找到 #http_port 3128 这里,删掉前面的#号,并且修改
后面的端口号。
示例:http_port 7777 #将squid的服务端口改为7777
由于Squid是基于Cache(缓存)的代理服务器,所以设置缓存的大小对优化服务器的性能是有必要的,下面来看一下如何设置cache的大小。
找到#cache_mem 8 MB这句 删掉前面的#号 将默认的8修改到需要的大小,这里的数值应视具体的机器可用内存而定,应在内存允许的情况下尽
量地设置的大一些以提高代理服务器性能,但不能让代理服务器的缓存大小影响本机器的性能。
示例:cache_mem 200 MB #设置squid使用200MB的内存当做代理服务器缓存
最后我们还要有一个步骤,否则在启动squid服务的时候会报错,那就是配置TAG: visible_hostname段,找到此段,再后面添加
visible_hostname 机器名(随便起) 这么一行,就搞定了。
示例:visible_hostname supersrv #将hostname设置为supersrv
至此,可以保存squid.conf并且退出文本编辑器了,简单的Squid for Windows的配置已经完成。
下面我们回到命令行,输入以下命令:
c:\>cd c:\squid\sbin
C:\squid\sbin>squid -i (注册Squid为Windows的服务,默认的服务名为SquidNT,可以使用“管理工具”中的“服务”来启动/停用服务)
C:\squid\sbin>squid -z (生成高速缓存的目录)
C:\squid\sbin>net start squid (启动squid服务,另一种比较好的方法是在“管理工具”,“服务”中选择SquidNT,然后选择启动服务)
配置文件的主要内容具体如下:
……
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl webpage dstdomain .pps.tv .baidu.com
#urlpath_regex URL-path 规则表达式匹配,略去协议和主机名
acl dfile urlpath_regex \.avi$ \.rmvb$ \.flv$ \.wmv$ \.mp3$ \.rar$ \.zip$ \.7z$ \.xv$
acl all src 0.0.0.0/0.0.0.0
#acl baduser src ip地址或ip段
acl normal src ip地址或ip段
#http_access deny baduser
http_access allow normal #允许一部分ip可以上网
http_access deny !normal
http_access deny webpage
http_access deny dfile
acl deny_msn src c:\squid\etc\denymsnuser.txt
acl msn_app rep_mime_type application/x-msn-messenger
http_reply_access deny msn_app deny_msn
http_reply_access allow all
acl safe_ports port 80 21 443
acl ssl_ports port 443
acl connect method CONNECT
#这里写入要使用QQ者的IP,一行一个
acl dl_qq src c:\squid\etc\allowqquser.txt
#禁止qq登录端口
acl qq_ports port 4000-4020
acl qq_ports port 8000-8020
http_access deny dl_qq qq_ports
http_access deny qq_ports
#禁止qq登录
#这里面写入要QQ登录服务器的IP地址
acl qqip dst c:\squid\etc\qqip.txt
http_access deny !dl_qq qqip
http_access deny qqip
#这句话必须要写,即对前面的没有限定的所有ip(acl all src 0.0.0.0.0/0.0.0.0)的设置
http_access deny all
……
端口的主要配置:
#http_port 3128
# Squid normally listens to port 3128
# 服务器代理配置
# @hujunqi
# 端口
http_port 服务器的内网卡的ip:6688
# 服务器管理者的电子邮件,当错误发生时,该地址会显示在错误页面上
# 便于用户联系
cache_mgr [email protected]
# 缓存可以使用内存大小
cache_mem 600 MB
# 缓存文件目录路径、大小、目录结构
cache_dir ufs D:/cache 10240 16 256
# 在错误页面中显示的服务器名称
visible_hostname www.hujunqi.com
主要的配置也就这些,其他的细节注意一下就好了