Lighttpd代理路径名?

Geu*_*uis 3 proxy lighttpd

我正在尝试配置lighttpd以将流量代理到一个代理服务器的相对路径,并将流量路由到另一个路径到另一个代理服务器.

例如:

http://mydomain.com/ proxies to 123.111.111.1
http://mydomain.com/apathname/ proxies to 123.111.111.2
Run Code Online (Sandbox Code Playgroud)

我试图弄清楚如何配置/ 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" )
            )
    )

}
Run Code Online (Sandbox Code Playgroud)

如果这个问题应该在另一个SO网站上,我很抱歉.我主要是一个程序员,而不是一个网络人员,我知道我总是得到SO本身的最佳答案,这就是我在这里问的原因.

Mar*_*jur 5

您需要检查请求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)
        ))
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的这个例子中:

  • 请求的所有内容都/upload将被代理10.2.2.1:3000.
  • 请求的所有内容都/submit将被代理10.2.2.2:3000.