我正在使用Lighttpd 1.4.30 在Play Framework中配置负载均衡器。
我在lighttpd-inc.conf中给出了以下条目。
$HTTP["host"] =~ "http://10.74.9.109:9020" {
proxy.balance = "round-robin" proxy.server = ( "/" =>
( ( "host" => "10.74.9.109", "port" => 9020 ) ) )
}
$HTTP["host"] =~ "http://10.74.9.109:80" {
proxy.balance = "round-robin" proxy.server = ( "/" => (
( "host" => "10.74.9.109", "port" => 9020 ),
( "host" => "10.74.9.109", "port" => 9030 ) )
)
}
我的播放应用程序在端口9020、9030上运行良好。
但是,当我尝试
http://localhost:80
时,我的负载均衡器应该将请求转移到这些端口中的任何一个,这都是没有发生的。我只有Lighttpd测试页。 最佳答案
首先,确保您的server.modules
数组中包含mod_proxy。
我认为使用$HTTP["host"]
是这里的问题。您应该像这样使用$SERVER["socket"]
:
$SERVER["socket"] == ":9020" {
proxy.server = (
"/" => (
(
"host" => "10.74.9.109",
"port" => 9020
)
)
)
}
$SERVER["socket"] == ":80" {
proxy.server = (
"/" => (
( "host" => "10.74.9.109", "port" => 9020 ),
( "host" => "10.74.9.109", "port" => 9030 )
)
)
}