Путь к прокси Lighttpd?

Я пытаюсь настроить lighttpd для прокси-трафика на один относительный путь к одному прокси-серверу и трафик на другой путь к другому прокси-серверу.

Например:

http://mydomain.com/ proxies to 123.111.111.1
http://mydomain.com/apathname/ proxies to 123.111.111.2

Я сбит с толку, пытаясь выяснить, как настроить / apathname /. Это пример того, что я настроил до сих пор, который просто направляет весь трафик на 123.111.111.1

$HTTP["host"] =~ "mydomain.com" {

    proxy.balance = "fair"

    proxy.server = ( 
        "" =>
            (
                ("host" => "123.111.111.1", "port" => "80" )
            ),

        "apathname" =>
            (
                ( "host" => "123.111.111.2", "port" => "80" )
            )
    )

}

Мои извинения, если этот вопрос должен быть на другом сайте SO. Я в первую очередь программист, а не сетевой парень, и я знаю, что всегда получаю лучшие ответы по самой SO, вот почему я спрашиваю здесь.

1 ответ

Решение

Вам нужно проверить URL запроса от $HTTP["url"] и установить несколько правил прокси, как это:

$HTTP["host"] =~ "(www.example.com)" {
    server.document-root = "/var/www/www.example.com"

    $HTTP["url"] =~ "^/upload(.*)$" {
        proxy.server  = ("" => (
            ("host" => "10.2.2.1", "port" => 3000)
        ))
    }

    $HTTP["url"] =~ "^/submit(.*)$" {
        proxy.server  = ("" => (
            ("host" => "10.2.2.2", "port" => 3000)
        ))
    }
}

В этом примере выше:

  • все запрошено у /upload будет прокси 10.2.2.1:3000,
  • все запрошено у /submit будет прокси 10.2.2.2:3000,
Другие вопросы по тегам