我正在使用Lighttpd 1.4.30在Play框架中配置一个负载平衡器。
下面我已经给出了列在Lightttpd-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 ) )
)
}我的play应用程序在端口9020,9030上运行良好。
但是当我尝试http://localhost:80时,我的负载均衡器应该将请求传输到这些端口中的任何一个,这是没有发生的。我只得到了莱特派德测试页面。
发布于 2015-12-16 10:10:43
首先,确保在您的mod_proxy数组中有server.modules。
我认为使用$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 )
)
)
}https://stackoverflow.com/questions/14256746
复制相似问题