lighttpd не перенаправляет мой трафик http - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь сбалансировать нагрузку между двумя хостами. В этих хостах у меня есть Apache порция /ejemplo.html. Это работает отлично. Но я установил lighttpd на другой машине (192.168.56.104), чтобы действовать как балансировщик нагрузки, со следующей конфигурацией:

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

Он должен перенаправить весь трафик http c на эти хосты, но если Я делаю запрос с curl, например:

curl http://192.168.56.104/ejemplo.html

Он не возвращает страницу («Не найдено»). Кроме того, если я запускаю

    curl http://192.168.56.104/

Возвращает страницу по умолчанию lighttpd.

(mod_proxy добавляется в server.modules)

Любые идеи о том, что не так с этой конфигурацией?

1 Ответ

1 голос
/ 03 апреля 2020

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

Это ваша проблема. Он будет соответствовать только URL-путям, которые содержат /, за которыми следуют ноль или более символов, а затем другой /, например, http://192.168.56.104/ejemplo.html/ Обратите внимание на последний завершающий сл * sh.

Если вы хотите lighttpd чтобы отправить все на эти два сервера, оставьте условие $ HTTP вне:

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