天天看点

Squid配置参数

第一步:定义访问Squid的IP地址及其对应的名称

(1)Ctrl+F找到“TAG: acl”段,

(2)Ctrl+F找到“acl Safe_ports port 777”,在“#multiling http”后面增加新行,写“alc 名称 src IP地址”,

(3)示例:acl name1 src 192.168.100.0(解释:定义所有来自192.168.100.*的机器对应的名称为name1)

第二步:定义允许访问squid的列表

(1)Ctrl+F找到“TAG: http_access”段

(2)Ctrl+F找到“http_access deny CONNECT !SSL_ports”后增加新行,写“http_access allow/deny 名称”,allow表示允许访问,deny表示拒绝访问

(3)示例:http_access allow name1(解释:定义所有标识为name1(192.168.100.*)的机器允许访问squid代理服务器)

  http_access deny all(解释:定义所有标识拒绝访问squid代理服务器)

(4)Ctrl+F找到“http_access allow localnet”改为“http_access allow all”

第三步:设置squid端口号(squid的默认端口是3128)

(1)Ctrl+F找到“http_port 3128”,删掉前面的#号,并且修改后面的端口号

(2)示例:http_port 7777              (解释:将squid的服务端口改为7777)

(3)Ctrl+F找到“#http_port 3128”在后面增加一行

(4)http_port 81 transparent        (解释:某些机器上80端口已被占用,所以这里用81,完成配置后可使用netstat -a来查看该端口是否启用)

(5)http_port 3128 accel vhost vport(解释:设定squid为accel加速模式,vhost必须要加.否则将无法将主机头转发至后端服务器,访问时就会出现无法找到主机头的错误)

第四步:设置子父代理cache_peer

(1)Ctrl+F找到“TAG: cache_peer”

(2)Ctrl+F找到“cache_peer parent.foo.net”配置相应字段

示例如下

# #                                        proxy  icp

# #          hostname             type     port   port  options

# #          -------------------- -------- ----- -----  -----------

源文件 cache_peer parent.foo.net       parent    3128  3130  proxy-only default

配置OK  cache_peer 127.0.0.1            parent    80    0     proxy-only default

第五步:设置缓存的大小

(1)Ctrl+F找到“cache_mem 8 MB”,删掉前面的“#”号,将默认的8修改到需要的大小。数值应视具体的机器可用内存而定,应在内存允许的情况下尽量地设置的大一些以提高代理

服务器性能,但不能让代理服务器的缓存大小影响本机器的性能。

(2)示例:cache_mem 200 MB(解释:设置squid使用200MB的内存当做代理服务器缓存)

第六步:配置TAG: visible_hostname段

(1)Ctrl+F找到“TAG: visible_hostname”,找到此段,再后面添加“visible_hostname”机器名(随便起)

(2)示例:visible_hostname supersrv(解释:将hostname设置为supersrv)

第七步:按Ctrl+S保存对squid.conf文件的编辑

第八步:开始-运行-cmd,输入如下3条命令:

(1)cd c:\squid\sbinsquid -i     (解释:注册Squid为Windows的服务,默认的服务名为SquidNT,可以使用“管理工具”中的“服务”来启动/停用服务)

(2)squid -z                     (解释:生成高速缓存的目录)

(3)squid                         (解释:启动squid服务,另一种比较好的方法是在“管理工具”,“服务”中选择SquidNT,然后选择启动服务)

C:\>cd c:\squid\sbin            (解释:到“C:\squid\sbin”根目录)

C:\squid\sbin>squid -i          (解释:注册Squid为Windows的服务,默认的服务名为SquidNT,可以使用“管理工具”中的“服务”来启动/停用服务)

C:\squid\sbin>squid -z          (解释:生成高速缓存的目录)

C:\squid\sbin>net start squid   (解释:启动squid服务,另一种比较好的方法是在“管理工具”,“服务”中选择SquidNT,然后选择启动服务)

第九步:到这里,squid部分就搭建成功了

第十步:开始做域名解析

(1)打开目录C:\WINDOWS\system32\drivers\etc,用记事本打开hosts编辑并保存,61.174.63.74 cdn.jb51.net cdn.jb51.cn (这个IP是指您的主服务器IP,不是CDN机器的IP)

第十一步:访问squid服务器:

(1)http://10.0.2.137:81/ (你的squid服务器IP地址),这时squid会指向 http://10.0.2.137:7001  (web服务器地址:即产品dnt的站点地址)

(2)如果把“#http_access deny all”打开把“http_access allow all”注释掉,你的访问就会被拒绝

========================================================================================================================================================================================================================================================================备注1:设置squid端口号(squid的默认端口是3128)

(1)Ctrl+F找到“http_port 3128”,删掉前面的#号,并且修改后面的端口号

(2)示例:http_port 7777(解释:将squid的服务端口改为7777)

备注2:某些机器上80端口已被占用,所以这里用81

(1)Ctrl+F找到“#http_port 3128”在后面增加一行

(2)http_port 81 transparent   (解释:某些机器上80端口已被占用,所以这里用81,完成配置后可使用netstat -a来查看该端口是否启用)

DOS常用命令

复制文件命令

命令行,输入以下命令:

命令1:cd c:\squid                                          (解释:进入C盘squid根目录)

命令2:copy c:\squid\etc\squid.conf.default squid.config    (解释:复制c:\squid\etc\squid.conf.default文件到c:\squid文件夹下并重命名为squid.config)

命令3:copy c:\squid\etc\mime.conf.default mime.conf        (解释:复制c:\squid\etc\mime.conf.default文件到c:\squid文件夹下并重命名为mime.conf)

安装与启动命令

命令行,输入以下命令:

C:\>cd c:\squid\sbin            (解释:到“C:\squid\sbin”根目录)

C:\squid\sbin>squid -i          (解释:注册Squid为Windows的服务,默认的服务名为SquidNT,可以使用“管理工具”中的“服务”来启动/停用服务)

C:\squid\sbin>squid -z          (解释:生成高速缓存的目录,初始化缓存空间)

C:\squid\sbin>net start squid   (解释:启动squid服务,另一种比较好的方法是在“管理工具”,“服务”中选择SquidNT,然后选择启动服务)

C:\squid\sbin>net stop squid    (解释:停止squid服务)

C:\squid\sbin>squid -r          (解释:卸载squid服务)

常用设置:

http_port 3128                                         //设置监听的IP与端口号  

cache_mem 64 MB                                        //设置内存缓冲的大小  

cache_dir ufs /var/spool/squid 2000 16 256             //设置硬盘缓冲大小  

cache_effective_user squid                             //设置缓存的有效用户  

cache_effective_group squid                            //设置缓存的有效用户组  

dns_nameservers 192.168.0.254                          //设置DNS服务器地址,一般可以不设置,默认使用服务器自己设置的dns  

cache_access_log /var/log/squid/access.log             //设置访问日志文件  

cache_log /var/log/squid/cache.log                     //设置缓存日志文件  

visible_hostname 192.168.0.20                          //设置squid主机名称

cache_mgr [email protected]                             //邮箱地址

acl localhost src 127.0.0.1/32 *.*.*.*/32              //squid服务器的ip地址

httpd_accel_host *.*.*.*                               //要跳转的web服务器ip地址

cache_dir ufs c:/squid/var/cache 10000 16 256          //如果squid没有装在C盘中要另外设置

http_port 3128 accel vhost vport                       //设定squid为accel加速模式,vhost必须要加.否则将无法将主机头转发至后端服务器,访问时就会出现无法找到主机头的错误

http_port 81 transparent                               //80端口已被占用,这里用81

cache_swap_low 80                                      //这两行是设置cache进行替换的闸值。当占用到97%的cache后,cache中的内容将被清空20%

cache_swap_high 97                                     //这两行是设置cache进行替换的闸值。当占用到97%的cache后,cache中的内容将被清空20%

error_directory /squid/share/errors/Simplify_Chinese   //错误提示的语言

cache_peer 10.10.2.53 parent 6666 7 login=username:password default no-query    //未知

cache_peer配置选项(配置时注意应为小写)

NO-QUERY:不做查询操作,直接获取数据

NO-NETDB-EXCHANGE:代理服务器之间不交互信息

NO-DIGEST:代理服务器之间不做摘要表查询,直接用ICP协议沟通(同级代理)

PROXY-ONLY:直接获取对方缓冲,转交给代理服务器的客户端,而不存入本地

ROUND-ROBIN:如果设置数部上层服务器,那么轮流查询父级服务器

LOGIN=USER:PASSWD:要求对方做帐号及密码验证,例如cache_peer 192.168.1.41 sibling 3128 3130 login=kao:123456

常用命令

C:\squid\sbin\squid -i -n dnt_squid  (命名squid服务的新名称)      

C:\squid\sbin\squid -r -n dnt_squid  (删除指定名称的服务) 

C:\squid\sbin\net start squid       (启动)

C:\squid\sbin\net stop squid        (关闭)

C:\squid\sbin\netstat -a             查看端口是否启用

C:\squid\sbin\squid -k rotate        轮循日志

C:\squid\sbin\squid -k shutdown      停止squid

C:\squid\sbin\squid -k reconfigure   重新载入配置文件

C:\squid\sbin\squid -k parse         验证squid.conf的语法和配置(如果squid.conf 有语法或配置错误,这里会返回提示你,如果没有返回,恭喜,可以尝试启动squid)

C:\squid\sbin\squid -N -d1           在前台启动squid,并输出启动过程(如果ready to server reques,恭喜,启动成功。然后ctrl+c,停止squid,并以后台运行的方式启动它)

C:\squid\sbin\squid -s               启动squid在后台运行(可以ps -A 来查看系统进程,可以看到俩个 squid 进程)

C:\squid\sbin\squid -k reconfigure   重引导修改过的 squid.conf

C:\squid\sbin>squid -r               卸载squid服务

C:\squid\bin\squidclient -p 80 mgr:info   squid运行状态信息

C:\squid\bin\squidclient -p 80 mgr:mem    squid内存使用情况

C:\squid\bin\squidclient -p 80 mgr:diskd  squid的磁盘使用情况

注:

“#”后的文本表示注释

ACL:访问控制清单

ARL:访问权限清单

一. Squid二级代理

在10.2.1.213上/usr/local/squid安装了 squid-2.5.STABLE7

将此squid配置成二级代理,上级代理IP:10.1.1.12,端口 3128

修改squid.conf使之包含类似如下内容:

cache_peer 10.1.1.12 parent 3128 0 no-query ###定义父代理10.1.1.12,端口3128

acl all src 0.0.0.0/0.0.0.0 ###acl控制列表

http_access allow all

never_direct allow all ###所有请求转发至上级代理

运行squid: # /usr/local/squid/squid ?D