重点在于启用mod_proxy模块,去掉前面的;号% q9 A( y% Q# H4 a
请编辑lighttpd.conf,
0 z9 R+ A1 j! M4 f& a 找到:- o8 [9 L( z: B) c# Q2 i
server.modules = {
6 \/ L$ H, k* [' G- Y) t) u! N5 M
6 l% C# N4 d$ U3 G然后在里面加一句:% @: [, U6 z( n, K6 u3 l. I0 o
"mod_proxy",
- |) O$ r8 G9 J; n% _& V+ Q! n/ G, V$ D2 @
然后添加反向代理配置代码,如: U7 ~9 t( R6 O" g0 }2 `6 x
[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 W- a7 z4 i* ~
以下是实例代码:
8 Q* d- X8 v0 f6 _7 m- f0 y' _3 M3 P[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 )
)
)
} 9 U4 v: f8 L- V+ P4 V
, X. Q2 m, R0 V. r! q
以下是一个配置文件,包含两个host,其中一个域全部被重定向到主域下:
0 L ~% G: f" L6 Z[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 )))
}
}
0 S/ W" K+ E4 b9 {- o) x以上配置在lighttpd 1.4.x中测试通过。
. t% Y- S$ @# @/ s7 K& v0 k' Q
+ m- p/ ^& `, Z- ?! i7 e代理 81 端口的服务 到 xxx.domain.com:
3 S7 J1 `3 u5 S# [# e( ^[AppleScript] 纯文本查看 复制代码 # lighttpd.conf
$HTTP["host"] == "xxx.domain.com" {
proxy.balance = "hash"
proxy.server = (""=>
(
("host" =>"127.0.0.1","port"=>81)
)
)
}
4 g5 u6 W5 M% B2 d
0 T! t1 I; [9 Z6 H9 O2 T4 i# D |