重点在于启用mod_proxy模块,去掉前面的;号# U+ s. V$ C% S3 R' P! f
请编辑lighttpd.conf,; ?2 Y8 f' d; f4 d$ H8 z
找到:" k5 K* P1 g* L
server.modules = {2 P0 L$ F2 }' U; S) {
) |0 H: t' t7 ~4 U- C- v
然后在里面加一句:
X- ~* e2 N* U$ G4 {2 n"mod_proxy",
, `1 [" e/ T' e. l: m( X4 |) m) \: A m
然后添加反向代理配置代码,如:
2 }$ j. U: o1 d* \+ 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" ) ) ) : y; r$ V4 c0 C7 n
以下是实例代码:% S2 k# ?1 v6 T% C
[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 D( n/ e$ W% Y4 n- R& A9 F
5 v# h( u0 X0 s- W; ?" D5 H以下是一个配置文件,包含两个host,其中一个域全部被重定向到主域下:; u, f: X8 [& S; `; C" u; g
[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 )))
}
}
! S7 K# F9 L# U/ S
以上配置在lighttpd 1.4.x中测试通过。
T8 g6 M% H5 i/ v0 ?$ w3 }$ J" f- S9 ^. x6 t
代理 81 端口的服务 到 xxx.domain.com:
/ V9 s! n" `' s[AppleScript] 纯文本查看 复制代码 # lighttpd.conf
$HTTP["host"] == "xxx.domain.com" {
proxy.balance = "hash"
proxy.server = (""=>
(
("host" =>"127.0.0.1","port"=>81)
)
)
}
' Y( j! f) R; k/ [! \6 p
) J0 R W0 b T# l5 g* e
|