2011-03-03 64 views
3

我试图配置lighttpd代理通信到一个代理服务器的一个相对路径,以及到另一个代理服务器的另一个通路的通信。Lighttpd代理路径名?

例如:

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

我flumoxed试图找出如何在配置/ 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

您是否尝试过更改订单? apathname之后是“”?并使“/ apathname” – Zimbabao 2011-03-03 06:08:46

+0

谢谢Zim。我不得不切换订单,然后我想起其中一台服务器本地运行在不同的端口上,但是我指定了IP,防火墙阻塞了端口。必须将其切换回127.0.0.1并开始工作。 – Geuis 2011-03-03 06:22:08

+0

我认为这个问题更好地问在http://serverfault.com/ – 2011-04-08 04:57:30

回答

5

您需要从$HTTP["url"]检查请求的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