重点在于启用mod_proxy模块,去掉前面的;号" B& E: U# `! ?0 p5 v, j
请编辑lighttpd.conf,
7 g: w4 `. s$ A4 r. M4 ~ 找到:: c3 p4 K; {, U
server.modules = {
- f! T* G. G% C* j1 N" ?
# ?( q d) Y1 ~9 g2 }( v0 H然后在里面加一句:% N9 ?+ T9 T, ]! E% j
"mod_proxy",
# p! S5 Y* [8 F1 Q" w7 p% X) e
6 A- q" o) @: T5 L# a8 K然后添加反向代理配置代码,如:
9 {* X* N6 Y6 p8 i, P) 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" ) ) ) - X/ b2 y3 C1 Q. f% ]
以下是实例代码:2 X7 k: i: P; K) p* I9 p0 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 )
)
)
} : k! K/ n0 y' j4 W, F7 ^
7 l. q) S! ^# l4 _8 w以下是一个配置文件,包含两个host,其中一个域全部被重定向到主域下:+ v Y0 P9 T* o9 E
[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 )))
}
}
5 f, y; Y0 \9 j4 n6 }
以上配置在lighttpd 1.4.x中测试通过。
" |. U' H6 y- q- g. e9 s, P- a$ Z `# o3 Y" N% c* ~
代理 81 端口的服务 到 xxx.domain.com:
1 @! k4 `2 G& T- \[AppleScript] 纯文本查看 复制代码 # lighttpd.conf
$HTTP["host"] == "xxx.domain.com" {
proxy.balance = "hash"
proxy.server = (""=>
(
("host" =>"127.0.0.1","port"=>81)
)
)
}
) F# h+ p' g2 l0 S% H2 ~
" v5 S' S, C7 F |