lighttpd 没有重定向我的 http 流量

lighttpd is not redirecting my http traffic

我正在尝试平衡两台主机之间的负载。在这些主机中,我有 Apache 服务 /ejemplo.html。这非常有效。但是我已经在另一台机器(192.168.56.104)上安装了lighttpd作为负载均衡器,配置如下:

$HTTP["host"] =~ "/.*/" {
  proxy.balance = "round-robin" 
  proxy.server  = ( "" => ( ( "host" => "192.168.56.102" ),
                            ( "host" => "192.168.56.103" ) ) )
}

它应该将所有 http 流量重定向到这些主机,但是如果我使用 curl 发出请求,例如:

curl http://192.168.56.104/ejemplo.html

它没有 return 页面 ("Not found")。另外,如果我 运行

    curl http://192.168.56.104/

它 return 是 lighttpd 的默认页面。

(在server.modules中添加了mod_proxy)

关于此配置有什么问题的任何想法?

$HTTP["host"] =~ "/.*/" {

这是你的问题。它只会匹配包含 / 后跟零个或多个字符,然后是另一个 / 的 URL 路径,例如http://192.168.56.104/ejemplo.html/ 注意最后的尾部斜杠。

如果您希望 lighttpd 将所有内容发送到那两个服务器,请忽略 $HTTP 条件:

proxy.balance = "round-robin" 
proxy.server  = ( "" => ( ( "host" => "192.168.56.102" ),
                          ( "host" => "192.168.56.103" ) ) )