重点在于启用mod_proxy模块,去掉前面的;号; Q# }* Q+ X! f" T8 f# U
请编辑lighttpd.conf,2 H7 O* t% |1 i
找到:' R# X+ j. L/ Q9 v; [2 n* }
server.modules = {
; i& b4 O" E6 ]2 [/ ?& ]5 W/ J1 @+ Z) L; K; `# e. b' M
然后在里面加一句:$ b* w; b) `7 Q8 o1 {: G9 `6 s
"mod_proxy",* Z; G1 M( h9 X# |7 G# a
6 g8 t& }) ]0 `1 A: c
然后添加反向代理配置代码,如: e: r$ X# R# D: Z8 w5 q( X+ X. W
[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" ) ) ) - d p1 v( S5 T* x( v% P* |
以下是实例代码:
3 c% ]; [. u7 Y$ J$ L8 h& 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 )
)
)
}
; B( |7 D3 T+ \( n
: } \% F# g. @9 z; h0 P4 O以下是一个配置文件,包含两个host,其中一个域全部被重定向到主域下:9 b/ Y% o* f) _( |* s. }* ]9 @
[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 )))
}
}
! c% w, n! n" C' ]
以上配置在lighttpd 1.4.x中测试通过。
4 ~7 o. _+ z! W" I( E+ P3 H2 h x$ k ~3 U) a1 J6 h
代理 81 端口的服务 到 xxx.domain.com:
3 h) k, ^5 M7 S5 n[AppleScript] 纯文本查看 复制代码 # lighttpd.conf
$HTTP["host"] == "xxx.domain.com" {
proxy.balance = "hash"
proxy.server = (""=>
(
("host" =>"127.0.0.1","port"=>81)
)
)
}
6 M% K9 a' i m) e
4 @7 t* M C. c5 D1 t/ w4 e |