Mod rewrite lighttpd配置用于从一个域到另一个域的代理/重写

Mod rewrite lighttpd配置用于从一个域到另一个域的代理/重写,mod-rewrite,lighttpd,mod-proxy,Mod Rewrite,Lighttpd,Mod Proxy,我需要在lighttpd上设置代理/重写 我有server1,它通过http 2不同的web应用程序路径提供服务: * http://server1/path1 * http://server1/path2 另外,我在server1前面有lighttpd服务器 我想在lighttpd上设置重写和/或代理,这样两条路径中的每一条都可以作为不同域上的根路径: * requests to http://server2.com/* are proxied/rewrited to http://serv

我需要在lighttpd上设置代理/重写

我有server1,它通过http 2不同的web应用程序路径提供服务:

* http://server1/path1
* http://server1/path2
另外,我在server1前面有lighttpd服务器

我想在lighttpd上设置重写和/或代理,这样两条路径中的每一条都可以作为不同域上的根路径:

* requests to http://server2.com/* are proxied/rewrited to http://server1/path1/*
* requests to http://server3.com/* are proxied/rewrited to http://server1/path2/*
重要:

  • server2.com和server3.com只能通过http访问server1
  • 重定向不是选项,server2.com和server3.com的用户不应该知道实际的web应用程序是从server1的不同路径提供的

有可能吗?

数年来,lighttpd开发人员都知道您的需求

根据版本的不同,解决方案或新功能可以解决此问题

Lighttpd 1.4

bugtracker中介绍了一种解决方法:

Lighttpd 1.5

他们使用此命令()添加了此功能:

代理核心。重写请求:重写请求头或请求uri

$HTTP["url"] =~ "^/path1" {
  proxy-co...

  proxy-core.rewrite-request = (
    "_uri" => ( "^/path1/?(.*)" => "/$1" ),
    "Host" => ( ".*" => "server2.com" ),
  )
}

不幸的是,您的问题与编程或编程工具无关,因此我们无法在这里帮助您。然而,我们的朋友在可能可以-一定要搜索之前,要求和帮助建立一个好的问题。FWIW,似乎1.5版本已被放弃之前,达到第一个版本。我想这意味着我们必须解决这个问题。对于v1.4,这个解决方案不起作用。它重定向但不改变路径
$HTTP["url"] =~ "^/path1" {
  proxy-co...

  proxy-core.rewrite-request = (
    "_uri" => ( "^/path1/?(.*)" => "/$1" ),
    "Host" => ( ".*" => "server2.com" ),
  )
}