重点在于启用mod_proxy模块,去掉前面的;号- F: Y9 a6 b) n$ v! c, v% K
请编辑lighttpd.conf," v, Q* M) d8 l0 [! `# [1 Q& K
找到:( {# t1 M4 b" V
server.modules = {1 [9 }9 C# R5 \! J( `
1 P7 h. w% _/ o0 q; g! V
然后在里面加一句:2 g3 X! y1 ?1 c' ~7 }) {+ }
"mod_proxy",* A2 }. f& Y% Z1 s% x$ R
, m2 c8 @3 L6 H v3 H- p, J然后添加反向代理配置代码,如:
4 r4 \: F5 ^' d4 p( f5 H[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" ) ) )
' I( M1 ~0 S% K9 O以下是实例代码:
# {. ^6 e% [5 K: B* E6 o2 b[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 )
)
)
} . s# y7 U9 n* R- Z5 `. `
6 d6 j% I: n, p2 n/ z. t3 }. w以下是一个配置文件,包含两个host,其中一个域全部被重定向到主域下:
* G/ c# V. D6 j; o3 p[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 )))
}
}
: L' U8 d9 o3 ?) ~以上配置在lighttpd 1.4.x中测试通过。! p* H7 C+ U! c/ \. j9 g
0 c- V: Z/ b; W- ]/ d代理 81 端口的服务 到 xxx.domain.com:
3 T$ V/ l, P) L6 [7 G9 x8 w[AppleScript] 纯文本查看 复制代码 # lighttpd.conf
$HTTP["host"] == "xxx.domain.com" {
proxy.balance = "hash"
proxy.server = (""=>
(
("host" =>"127.0.0.1","port"=>81)
)
)
}
1 O9 j6 z4 t; o$ D N4 C
: `& n7 `/ |( v r* } |