|
|
一、安装Squid到任意目录并注册为服务
1 j8 X$ K7 a% e/ D. {. |: `! y6 }% P3 U
SquidNT是Linux下Squid的Windows版本,默认必须安装在C:\Squid下面,通过修改Squid的配置文件就可以实现在系统的任意目录安装Squid。
' [4 |& W3 X4 a+ E0 i8 A举例,将Squid解压到d:\tools\winsqd,在d:\tools\winsqd\etc下有一个默认的配置文件squid.conf,将它另存为winsqd.conf,修改并启用以下的参数(去掉“#”就启用并覆盖默认值),保存。( ?/ g" H* R( N; g8 o2 t. i
# {- F4 v! ?7 M$ i3 ocache_dir ufs ../var/cache 100 4 4
2 R7 g$ Y+ q' Qaccess_log ../var/logs/access.log squid7 |+ ]6 X2 ~/ H; g1 m
cache_log ../var/logs/cache.log) e0 b* l; c6 L: B! ~8 W
cache_log ../var/logs/cache.log
, {. o$ N# T$ Y, ^* fmime_table ../etc/mime.conf
. z# @% Z! k" v: k8 \# _pid_filename ../var/logs/squid.pid s/ `8 N2 Z0 B* v
unlinkd_program ../libexec/unlinkd.exe
) Y3 i5 B& V: I3 I5 Uicon_directory ../share/icons, \8 G5 G4 n: |+ {% z9 K& V
error_directory ../share/errors/English
- P" U; X, ]! I$ m' |$ A- Scoredump_dir none5 F0 {( v7 e6 ~. R$ n" ^0 X7 I7 a
3 W- W8 |5 m, q) z在命令提示符下,使用有管理员权限的用户,cd到d:\tools\winsqd\sbin,运行以下命令:! P6 Y) P: a+ I0 P+ A7 r
1、将squid安装并注册成服务,服务名称是WinSQD,使用配置文件在d:\tools\winsqd\etc\winsqd.conf,因为在sbin下启动squid,所以使用相对路径就成了../etc/winsqd.conf。
9 s1 w) c& w( X1 s' L( Dsquid -i -f ../etc/winsqd.conf -n WinSQD
2 c% \2 Q9 r. P% p0 f
7 N/ l8 N+ W3 [) m L4 F: N/ d! C. \% BSquid启动时有一个DNS测试,如果通过命令行启动可以使用“-D”参数禁止初始化时的DNS测试,但是在Windows平台下使用squidNT,将squid注册成服务来启动时,就无法通过设定“-D”参数禁止初始化DNS测试。除了将squid设置为任务计划,在开机时自动运行,暂时没有找到更好的方法。. S, L) o& B% z- W: d
" j. @+ X' ^" b2 O2 ?+ |2、在Windows XP和Windows 2003下可以使用sc命令修改服务的属性,将Squid服务设置为手动启动;类型是服务以其自身的进程运行,不与其他服务共享可执行文件;错误处理方式是:错误已记录,启动继续,记录错误超出在事件日志的范围,不再给用户作出提示;服务的显示名称是“Windows SQD Service”
4 u& }, [+ P2 B& X+ I9 `1 [" ]$ zsc config winsqd start= demand type= own error= ignore DisplayName= "Windows SQD Service"
% D, O! \& I) D0 [
/ B4 i! u9 O* x7 s5 x3、将Squid服务的描述修改成“Windows SQD Service”$ ~( A" a( D# q1 ~" _4 E
sc description winsqd "Windows SQD Service"7 I/ J4 N# {4 }+ s; D
2 C* w" u$ U0 k; E/ r0 y
二、简单安装配置4 w, [- D* G8 m4 Z9 _
/ s2 @" G- @# V8 U9 N/ ^+ t% ]
下载windwosNT版本的squid下载地址:
( R9 B$ Q+ E0 M$ ~. S6 ^7 X) t) h- x7 N6 P9 v. V8 p
http://squid.acmeconsulting.it
, a, Z! g4 E/ T/ @& ^/ Z' m
, u, a8 s+ G+ \: L$ ^1.把squid-2.6.STABLE13-bin.zip解压缩,把里面的squid文件夹拷到c:/下(squid默认的是c:/squid)
0 t& X! `/ F; C( L2.squid/etc目录下把0 P0 t. z4 Z( D m( P, F# {! G
/ o1 X3 d; ^) {8 gsquid.conf.default拷贝一份重新命名为squid.conf6 h. w, ~9 S3 E# F: n- @8 d
# Y9 O6 c3 u" A! n4 O$ p2 wcachemgr.conf.default拷贝一份重新命名为cachemgr.conf: f; J3 J/ M3 b1 |8 `
4 _+ P' I! u& k$ ^+ N
mime.conf.default拷贝一份重新命名为mime.conf* J: E; t6 N# a
3 K$ w, |) j8 u2 T0 s( ]8 a3.用文本编辑器打开squid.conf,需要修改的地方:. E2 _' I, h! [, W: g
& O) m- [! @' y- M! s
找到http_port 3128在后面增加一行
^" B3 q8 ^3 |& Z* Z$ l p3 l1 c0 M9 V/ Y. ?7 h
http_port 80 transparent- g; O* E& h* Y* t
$ @& a- X- u' B
找到#cache_peer sib2.foo.net sibling 3128 3130 [proxy-only]在后面增加一行
6 @2 K* s% h Z) S% N8 O1 C- Z2 t/ V* Z6 `# t+ X9 \" z y
cache_peer 192.168.1.8 parent 7001 0 no-query originserver1 C- t7 K9 y! v
. E. h4 h9 ~7 c
找到# TAG: visible_hostname在后面增加一行1 _0 G+ d8 F# F" C9 \
7 ^' {/ K' |/ `2 Avisible_hostname volcano(任意命名)
, L `+ @, N8 @( r: l+ z6 G8 m+ Z9 w& U
找到http_access deny all在其前面加#将这一行注释掉,然后增加一行
8 m* U1 }7 ^1 r
( P$ J& ~, O c" C' ihttp_access allow all! P. O5 N A$ I+ G. y
& p9 r2 [0 h6 s# @# A) ~" N4.从命令行到c:/squid/sbin目录下执行
, u( N2 H" x; z# }" m5 W
( a9 ?& |4 I4 D: B7 H' ?; `9 Nsquid -i(将squid服务加入到服务里面)
) _3 R1 w; O) r2 G. Y: Q4 A# z3 z. Y; ?8 T
squid -z2 s3 \7 x- E$ O' ?& @! x
1 g% y4 x, @$ U( M8 @# S; T( l
调试可以用:squid -N -d1
' t+ T% ?5 x- V2 D0 ?# P% O* s- t. \3 s/ t J, v" |1 G
安装完成
' ~( C& F9 |& r" V
: _( W8 E. E" Y2 s$ [3 M5 ]; B5.从服务里启动squid# `& e4 U1 q5 ?+ h9 @
7 R! P6 X- e$ m7 ~7 B! Q! l
访问squid服务器:% J7 I- J6 o- d, L5 J9 Z- ]; L7 ~3 x' d
, e6 L! C w8 ^9 y0 K8 I5 f/ R! g: `http://192.168.1.2(你的squid服务器IP地址)>>>指向http://192.168.1.8:7001(web服务器地址). v8 ?( x( C" k7 A( ~7 j
0 L6 `, m& ~; S: F* F3 g7 y如果把#http_access deny all打开把http_access allow all注释掉,你的访问就会被拒绝
: n& U* t' O+ S% T8 g" L- l5 _; G! R& i+ z
你需要配置一下:找到下面两行; I M% y3 n% z
1 T. ^! j* w& t2 ?) u" \#acl our_networks src 192.168.1.0/24 192.168.2.0/24, t1 t- K& q2 W9 `( K1 B+ h2 N
#http_access allow our_networks$ j9 P. R; _) R3 }4 z
8 |9 K0 X& N/ S- I z6 F
打开注释,修改你的内网ip(段)可以设为192.168.1.0/24一个也可以如上面的一样设一段IP5 I, b3 @7 s& U7 _) O+ _ k% f
) T) N8 K* S8 r; y三、反向代理配置
q% r' R* h0 d2 o @& X* R/ Q9 j) w( d6 a) k
注意:反向代理和透明代理不能同时使用; N* b2 Z3 X: e# g s
* M) S8 N, ?0 K8 }: f4 A& x6 M
步骤:5 I+ e) d- N2 y2 y* q. Q
a. Squid服务器的设置,修改/etc/squid/squid.conf- d: i. R9 {5 I3 `/ e2 K. B
同样反向代理aquid服务器上的配置与标准的代理缓冲服务器几乎一样 $ }5 c, q9 }; ~% j% _9 M6 {0 r
不同之处:http_port 10.106.34.12:80 vhost
) `( e- s( t/ V" N Cache_peer 192.168.1.12 parent 80 0 originserver weight=5 max-conn=30+ E8 A4 x# c7 Z8 C' V7 c' L
上一行的解释:定义web服务器 web服务器地址 服务器类型 http端口 icp端口 [可选项]6 L( W* {$ R6 z
+ E* o4 e, k: M$ l
squid –k parse
& H& m: \# w H- p% R3 {8 P; p0 \ service squid reload0 E8 H/ g6 k9 e0 m- F. t
& n& H0 x2 ]& _# O
b. 客服端的设置(注意:这时的客服端就是web服务器)% `! j( m$ x% b2 A; t; n
开启web服务0 ]( {' b( [7 h7 Z8 `
好了通过以上配置外网即可访问你的web服务器了6 I/ q, }4 G. o, p, J6 v4 a
! M u) W0 g5 z2 h4 b反向代理的简单配置文件(squid默认在c盘,将etc下mime.conf.default改为mime.conf):
& H# ~& v; r) I' ~ |
|