我需要将所有 CGI 请求发送到另一台服务器,因此我决定使用代理。问题是我需要将客户端 IP 发送到服务器,因此我进行了以下配置:
$HTTP["url"] =~ "cgi" {
$HTTP["remoteip"] =~ "^(.*)$" {
url.rewrite-once = ("^(.*)$" => "$1?myip=%1")
}
proxy.server = (
"" =>
(
( "host" => "XXX.XXX.XXX.XXX",
"port" => 80,
)
)
)
}
问题在于它没有重写 URL。
答案1
发现:无法在 $HTTP["url"] 比较中使用重写。url 条件必须在重写内,如下配置
$HTTP["remoteip"] =~ "^(.*)$" {
url.rewrite-once = ("^(.*cgi.*)$" => "$1?myip=%1")
}
$HTTP["url"] =~ "cgi" {
proxy.server = (
"" =>
(
( "host" => "XXX.XXX.XXX.XXX",
"port" => 80,
)
)
)
}