Lighttpd代理路径名?

时间:2011-03-03 06:06:20

标签: proxy 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 个答案:

答案 0 :(得分:5)

您需要检查来自$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