重点在于启用mod_proxy模块,去掉前面的;号
; u, p- K, y) x) f9 e 请编辑lighttpd.conf,
# `0 I+ L$ a4 v% M' c; J 找到:
9 _9 h( I' ~% |. h+ i. B' R. x3 yserver.modules = {
! O; e8 P5 U7 R( y# Z x/ t0 | q+ U8 Q: {) x$ ^
然后在里面加一句:
. e& J8 b0 @/ D: q9 q& }# } m/ ]"mod_proxy",& A6 P/ i1 `5 d" d! Z
9 ?4 V: ^. i) T0 T: o7 }然后添加反向代理配置代码,如:
1 l; i* F5 \# Z8 j, I. b[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" ) ) )
4 s+ U5 [) l4 O, U/ m5 X以下是实例代码:: h1 |, R: z$ X: w5 F
[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 )
)
)
} # p4 \8 \: ]. F. I9 T# q
0 ]5 ^0 p+ n' d; z3 G7 x6 z1 R以下是一个配置文件,包含两个host,其中一个域全部被重定向到主域下:
, \9 r# t' Y# V v[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 )))
}
}
9 a/ h% e( a' u2 V
以上配置在lighttpd 1.4.x中测试通过。5 a2 X# _, g# M2 L) l
5 v, G; [. X3 n6 `
代理 81 端口的服务 到 xxx.domain.com:
& s( k" b8 a5 |; D% g) Y) k[AppleScript] 纯文本查看 复制代码 # lighttpd.conf
$HTTP["host"] == "xxx.domain.com" {
proxy.balance = "hash"
proxy.server = (""=>
(
("host" =>"127.0.0.1","port"=>81)
)
)
}
j# p% y# x8 j3 a4 d9 o
. y/ _( I# b# M1 `; x |