fut*_*te7 5 rewrite url configuration mod-proxy lighttpd
我正在尝试在 lighttpd 中设置一个反向代理,以便 /mobile/video 下的所有请求(并且只有那些请求)被重定向到辅助 Web 服务器的 / 目录。这在 apache 中很容易,但我一生都无法弄清楚如何在 lighttpd 中做到这一点。
$HTTP["url"] =~ "^/wsmobile/video/" {
url.rewrite-once = ( "^/wsmobile/video/(.+)" => "/$1" )
proxy.server = ( "" => ( ( "host" => "210.200.144.26", "port" => 9091 ) ) )
}
Run Code Online (Sandbox Code Playgroud)
我试过使用 http["url"] 指令,但是 lighttpd 只是忽略这些请求并继续将完整的 url 传递给辅助服务器,这当然会导致 404 阻塞和抛出。但是,如果我进行全局重写,那么所有内容都会转发到辅助服务器,这也不是我想要的。
我该如何完成这项任务?
url重写在. $HTTP["url"]
但是,您应该能够以这种方式全局重写它:
url.rewrite-once = ( "^/wsmobile/video/(.*)" => "/test/" )
Run Code Online (Sandbox Code Playgroud)
然后用以下命令捕获它:
$HTTP["url"] =~ "^/test/" {
# do proxy here
}
Run Code Online (Sandbox Code Playgroud)
更新:
请参阅此处:Lighttpd bug #164。具体来说,proxy-core.rewrite-request应该是您正在寻找的。