重点在于启用mod_proxy模块,去掉前面的;号
7 l' B( Z d/ o" Z+ _$ L 请编辑lighttpd.conf,
. f& ]& m7 H' M0 k3 W 找到:
4 V5 \8 B2 e- @+ [) {server.modules = {1 k/ O+ E( U2 a8 W D8 o+ x
0 b. u+ w' a: F) E; h2 H( w
然后在里面加一句:
, b& N0 r7 H$ r3 m! b' n6 w"mod_proxy",. D" p. Y4 [: A2 b# b7 g
& M6 X2 F0 `( p5 X; @& L) _% f然后添加反向代理配置代码,如:! ^! p V& v) D( e( ^0 m" v
[AppleScript] 纯文本查看 复制代码 proxy.balance = "hash"
proxy.server = ( "" => ( ( "host" => "10.0.0.10" ),
( "host" => "10.0.0.11" ),
( "host" => "10.0.0.12" ),
( "host" => "10.0.0.13" ),
( "host" => "10.0.0.14" ),
( "host" => "10.0.0.15" ),
( "host" => "10.0.0.16" ),
( "host" => "10.0.0.17" ) ) ) 5 W1 n9 k6 i ~
以下是实例代码:2 H' K& T9 w: }
[AppleScript] 纯文本查看 复制代码 server.modules = (
"mod_access",
"mod_status",
"mod_proxy",
"mod_accesslog" )
server.document-root = "/srv/www/htdocs/"
server.errorlog = "/var/log/lighttpd/error.log"
status.status-url = "/server-status"
$HTTP["url"] !~ "\.(js|css|gif|jpg|png|ico|txt|swf|html|htm)$" {
proxy.server = ( "" => (
( "host" => "10.10.10.87", "port" => 80 )
)
)
} . r: e4 f6 P1 A6 h) Q, B
7 s; [* S) q$ R; O/ n以下是一个配置文件,包含两个host,其中一个域全部被重定向到主域下:
+ J9 _& g! `% a6 y$ ^[AppleScript] 纯文本查看 复制代码 server.modules += ( "mod_proxy" )
$HTTP["host"] == "liaoxuefeng.com" {
url.redirect = ( "^/(.*)" => "http://www.liaoxuefeng.com/$1" )
}
$HTTP["host"] == "www.liaoxuefeng.com" {
server.name = "www.liaoxuefeng.com"
server.document-root = "/srv/liaoxuefeng.com/www/"
accesslog.filename = "/srv/liaoxuefeng.com/log/access.log"
server.errorlog = "/srv/liaoxuefeng.com/log/error.log"
$HTTP["url"] !~ "^(favicon.ico|.*/static/.*)$" {
proxy.server = ( "" => (( "host" => "127.0.0.1", "port" => 8000 )))
}
}
o0 K' m& n5 M& @
以上配置在lighttpd 1.4.x中测试通过。4 }" ?2 A. D O( [. z7 b9 J
0 a' g( H2 h! r4 Z, H/ E8 e代理 81 端口的服务 到 xxx.domain.com:
" x0 p) c2 J2 ?) D* D7 `% _ L[AppleScript] 纯文本查看 复制代码 # lighttpd.conf
$HTTP["host"] == "xxx.domain.com" {
proxy.balance = "hash"
proxy.server = (""=>
(
("host" =>"127.0.0.1","port"=>81)
)
)
}
# D7 |9 `2 u0 H! Q4 }& h
( k! d: O; {. K, ?+ c |