lighttpd перенаправляет и перезаписывает на внутренний сервер

Я пытаюсь настроить прокси + переписать с помощью lighttpd.

Я пытаюсь перенаправить прокси на два отдельных сервера. Первый предназначен для root (192.168.1.198:7000), а второй предназначен для доступа через каталог /ram/ (192.168.1.197:8000). Я использую версию 1.4.38-1 lighttpd и не имею возможности обновления.

Ниже приведена соответствующая часть моего файла lighttpd.config, я надеюсь, что кто-нибудь укажет мне на мою ошибку!

$SERVER["socket"] == ":82" {
  url.rewrite-once = ( "^/ram/(.*)$" => "/$1" )
  proxy.server  = ( "" => (
    "" =>
      ( "host" => "192.168.1.197",
        "port" => 8000
      )
    )
  )
}
else $HTTP["host"] == "subdomain.example.com" {
  proxy.balance = "hash"
  proxy.server  = ( "" => ( ( "host" => "192.168.1.198", "port" => 7000 ) ) )

  $HTTP["url"] =~ "(^/ram/)" {
    proxy.server  = ( "" => (
      "" =>
        ( "host" => "127.0.0.1",
          "port" => 81
        )
      )
    )
  }
}

person KairuByte    schedule 13.01.2017    source источник


Ответы (1)


К вашему сведению, я вижу настроено три внутренних прокси-сервера, а не два.

Кроме того, все запросы от клиента к порту :82 на вашем сервере будут обрабатываться первым условным блоком. 'else $HTTP["host"] == "subdomain.example.com"' никогда не будет виден клиентам, подключающимся к порту: 82 на вашем сервере lighttpd.

Если вы хотите, чтобы все запросы с хостом: subdomain.example.com следовали инструкциям в этом условном блоке, сделайте этот раздел автономным 'if', а не 'else', присоединенным к первому условию ($SERVER["socket" ] == ":82")

person gstrauss    schedule 20.01.2017