|
|
一、安装Squid到任意目录并注册为服务
6 C* w; z% C) X7 W/ y0 r
6 x; T0 n) F. ~SquidNT是Linux下Squid的Windows版本,默认必须安装在C:\Squid下面,通过修改Squid的配置文件就可以实现在系统的任意目录安装Squid。
8 e d# F0 U! d# `3 c举例,将Squid解压到d:\tools\winsqd,在d:\tools\winsqd\etc下有一个默认的配置文件squid.conf,将它另存为winsqd.conf,修改并启用以下的参数(去掉“#”就启用并覆盖默认值),保存。: @/ h2 z# M* K$ q2 A X
+ z& Y6 [# |, d( G. X/ D1 F# }
cache_dir ufs ../var/cache 100 4 4: Y, Q3 P) A; B. j X
access_log ../var/logs/access.log squid
' I; O7 h1 Z( f, j1 J# I& Rcache_log ../var/logs/cache.log& H' E7 t5 R; ?! [
cache_log ../var/logs/cache.log
/ U9 w; S& _$ Z" i- [( g1 Y, dmime_table ../etc/mime.conf
* _- l7 e" X! `% Apid_filename ../var/logs/squid.pid
2 J# _3 }$ J) S9 u4 Xunlinkd_program ../libexec/unlinkd.exe
. ?" J& f9 c; c2 f- L# gicon_directory ../share/icons5 W- y7 e/ e! ^6 i/ M
error_directory ../share/errors/English
2 w2 x+ n: w9 T5 B% E% Ccoredump_dir none! ?/ M# M! H* N& i+ Z
1 q* [ x0 ^# t在命令提示符下,使用有管理员权限的用户,cd到d:\tools\winsqd\sbin,运行以下命令:
& r/ g) k, @ X' F( J1、将squid安装并注册成服务,服务名称是WinSQD,使用配置文件在d:\tools\winsqd\etc\winsqd.conf,因为在sbin下启动squid,所以使用相对路径就成了../etc/winsqd.conf。/ u" f0 I. F2 t% p2 `3 C4 r
squid -i -f ../etc/winsqd.conf -n WinSQD
" j( |" C9 Y2 w/ W+ A
" ^5 i# w: B4 y+ \* n+ }, aSquid启动时有一个DNS测试,如果通过命令行启动可以使用“-D”参数禁止初始化时的DNS测试,但是在Windows平台下使用squidNT,将squid注册成服务来启动时,就无法通过设定“-D”参数禁止初始化DNS测试。除了将squid设置为任务计划,在开机时自动运行,暂时没有找到更好的方法。; U: r4 a2 F* l9 h% T6 j$ E" t8 E
1 k: t/ V: P- \" j- R+ a2、在Windows XP和Windows 2003下可以使用sc命令修改服务的属性,将Squid服务设置为手动启动;类型是服务以其自身的进程运行,不与其他服务共享可执行文件;错误处理方式是:错误已记录,启动继续,记录错误超出在事件日志的范围,不再给用户作出提示;服务的显示名称是“Windows SQD Service”8 g6 F+ f/ _$ r
sc config winsqd start= demand type= own error= ignore DisplayName= "Windows SQD Service"
' K* d9 t; }9 f v5 a) O: |8 c! @4 i
3、将Squid服务的描述修改成“Windows SQD Service”
' _! v {: H0 r! _4 jsc description winsqd "Windows SQD Service") C4 X( m) L2 G5 Q* d- ?
2 ?) H2 z* q1 R$ \6 k) V" {/ o" z) H二、简单安装配置
3 m2 w2 _" l! d# d' |. Q& n9 `5 y" k& k, q
下载windwosNT版本的squid下载地址:
0 H8 S" c; A# C3 z0 K' W; `, C V& o* ?! h( h
http://squid.acmeconsulting.it( x! G# [& ]0 ?& R9 ?8 @
2 G* g& B( K6 O! f- @1.把squid-2.6.STABLE13-bin.zip解压缩,把里面的squid文件夹拷到c:/下(squid默认的是c:/squid)$ e4 y+ {: |; j
2.squid/etc目录下把
! u- A- b- A' l, i5 U
- u# c0 W* E7 I2 F, csquid.conf.default拷贝一份重新命名为squid.conf9 P6 u+ r6 r) O2 b9 y# w# U# _
/ j' x* Z8 X# w7 T( s4 y* e
cachemgr.conf.default拷贝一份重新命名为cachemgr.conf
9 ^: `- a& I0 g! C* Z7 v( i: ]% o; i& p& m h3 H$ X1 T1 [6 z
mime.conf.default拷贝一份重新命名为mime.conf
+ P+ T/ E+ G! v2 m, J! [( ~2 w6 o# I/ J' _
3.用文本编辑器打开squid.conf,需要修改的地方:% Y4 X% f/ l% Y# J, W
! `/ T4 q0 Z2 F( Y% l' e找到http_port 3128在后面增加一行. {/ R/ }# G% [+ `& ^2 @
$ E( O! t' U( `4 T' D7 W8 ~
http_port 80 transparent
2 z7 ]. A6 s, ?' h6 q! ]/ c# M' e% d& ~. q
找到#cache_peer sib2.foo.net sibling 3128 3130 [proxy-only]在后面增加一行
4 N/ d! Q# a6 a4 l/ h
7 J- w8 j: U. e- m" U: \: J" Rcache_peer 192.168.1.8 parent 7001 0 no-query originserver
3 U0 B7 _& R6 ^2 j' W* p! a2 ?
6 I A9 ~! M9 Y- I7 _找到# TAG: visible_hostname在后面增加一行
/ q+ k! G U; z, y, ?" z1 P5 v. m8 x+ P7 F1 w! K* ]0 {/ \
visible_hostname volcano(任意命名)0 R4 {2 s/ E9 H. d9 C( j8 ?
' }# L: X7 {" s: E% \
找到http_access deny all在其前面加#将这一行注释掉,然后增加一行& P7 U' w+ t' `) W$ ]' e- E; h
; N6 Z9 {7 f# X8 N' o2 B }
http_access allow all
8 ^ J' H9 `/ b) ?2 Z& o' ~! o5 e, z: T: D. h4 c9 S
4.从命令行到c:/squid/sbin目录下执行
- y% h y% ^6 w, E, ^8 F9 S2 x$ W
squid -i(将squid服务加入到服务里面)
9 G& r1 R) I2 G X* R9 |! p3 [$ Y) @. C" Q9 S2 P2 L$ d6 T
squid -z
9 h1 r( B. m4 I% }" f- ]- S+ H. Y/ B" B
调试可以用:squid -N -d1- k/ o4 E* u) }
5 h6 K1 ^2 d6 X) b: z: |+ |
安装完成
! K3 ? ^) R" J: `: e" m" g& r. R/ @5 N% g% ~4 k. ]# h& n8 z
5.从服务里启动squid' X5 u8 ]9 Z1 c" V& @* B
9 \2 i0 @+ l* R+ _, c& X
访问squid服务器:
& J+ L+ J6 B4 E- L4 W% D, x& y- I
http://192.168.1.2(你的squid服务器IP地址)>>>指向http://192.168.1.8:7001(web服务器地址)
0 s8 i4 I( {9 s+ Q) O J+ H7 m) j( R7 U( }
如果把#http_access deny all打开把http_access allow all注释掉,你的访问就会被拒绝" C. n8 {; F" Y# z& E$ i
+ m/ w7 P, [8 b/ o; p$ x
你需要配置一下:找到下面两行7 e, `4 Y1 |' E( H% Q6 }
; D4 a4 e# P) B1 j5 ~
#acl our_networks src 192.168.1.0/24 192.168.2.0/24
. I+ |( n" l; e/ @, a#http_access allow our_networks
1 l) a7 l# {) R3 D. J
5 Q" S) D/ {$ G- @7 G) K打开注释,修改你的内网ip(段)可以设为192.168.1.0/24一个也可以如上面的一样设一段IP* K* Z! i6 v7 ]
$ F, m4 ] S6 I) F2 V1 Z; ]
三、反向代理配置! C9 @- b/ m5 c$ T$ Y
$ J7 j- w) T; l) U2 _- ?9 C2 u
注意:反向代理和透明代理不能同时使用
+ `3 k! q( ]) F4 v9 [4 l- a/ X) E. v. K& z
步骤:
8 S# x' U. R1 ?0 a. Y7 F, t4 Aa. Squid服务器的设置,修改/etc/squid/squid.conf
; [$ ?* u. c4 _5 D* k0 c同样反向代理aquid服务器上的配置与标准的代理缓冲服务器几乎一样
, g# Q: L, u9 ]+ w/ z" p; n 不同之处:http_port 10.106.34.12:80 vhost, Z* R9 F" `3 \7 ^
Cache_peer 192.168.1.12 parent 80 0 originserver weight=5 max-conn=30
% ^ L/ S3 ]! `+ T上一行的解释:定义web服务器 web服务器地址 服务器类型 http端口 icp端口 [可选项]
0 O* x- u4 n0 U! Y8 s6 D, q4 E - i% U `8 O t% n
squid –k parse
0 c+ N& }( a; n( i: z service squid reload# G/ ^- E; }5 Q& D8 w7 N: y) ~
' S) }5 d" |6 g+ a7 H. q, Vb. 客服端的设置(注意:这时的客服端就是web服务器)
: a- X6 C: `3 J9 B( g5 s1 f 开启web服务; o* c" X& B8 E1 [
好了通过以上配置外网即可访问你的web服务器了
$ S; r$ G) ?1 ^% G3 }+ R# A8 a" K" D
/ L3 O l) K# a0 g+ H反向代理的简单配置文件(squid默认在c盘,将etc下mime.conf.default改为mime.conf):$ [8 a4 P9 l. [5 B
|
|