重点在于启用mod_proxy模块,去掉前面的;号
$ \+ B% J) p/ s9 q 请编辑lighttpd.conf,
% I' o! W/ F: b9 g' \ 找到:
) Y6 U7 O% Z; S2 U' _server.modules = {
: z! l- w9 F2 G/ h2 E% v& I
, Y, D; T6 _6 [ }) z然后在里面加一句:
' E: h4 ^ G( w3 Y6 S" r"mod_proxy",
" D8 N. i7 w/ @3 g" }) D A! J( _! a0 T' l( @, J
然后添加反向代理配置代码,如:
2 v8 B; b- ^( S/ Y% p% {[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" ) ) )
7 J6 A7 y- I% F$ g以下是实例代码:
) |- e1 G; C& Z; N[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 )
)
)
}
/ I4 g4 N* v8 h8 V- u6 r
2 H7 W- x0 U6 o: T以下是一个配置文件,包含两个host,其中一个域全部被重定向到主域下:
0 { ?9 o4 d# W3 @. x[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 )))
}
}
* g2 B0 @& }. E6 p5 G1 E
以上配置在lighttpd 1.4.x中测试通过。
2 L2 m8 s0 C; O7 i0 n' K c
) f8 r# |0 F, A+ K* L代理 81 端口的服务 到 xxx.domain.com:
+ C* h6 B& ?# q+ G[AppleScript] 纯文本查看 复制代码 # lighttpd.conf
$HTTP["host"] == "xxx.domain.com" {
proxy.balance = "hash"
proxy.server = (""=>
(
("host" =>"127.0.0.1","port"=>81)
)
)
}
: a- T- o3 ^. ]4 J2 b8 l2 E& m% Y
5 {# N! x# x! H) [5 n5 V+ u |