我必须通过 example.org 上的 lighty 代理托管在外部网络空间上的网站。到目前为止我的配置:
$HTTP["url"] =~ "^/webmail" {
proxy.server = ("/webmail/" => (
# this entry should link to example2.org
("host" => "1.2.3.4", "port" => 80)
))
}
网络空间提供商已将我的域名配置为虚拟主机。因此,如果我访问http://1.2.3.4/webmail/lighttpd 只会提供网络空间提供商的主站点,该站点显示“在我们的服务器上未找到站点 example.org”。
有什么建议可以指导我如何配置 lighty 来代理仅作为 vhost 托管的站点(并且它们自己没有 ip)?
答案1
我相信这个问题可以通过以下方式解决mod_setenv:
$HTTP["url"] =~ "^/webmail" {
# add host header
setenv.add-request-header ( "Host" => "example2.org" )
proxy.server = ("/webmail/" => (
# this entry should link to example2.org
("host" => "1.2.3.4", "port" => 80)
))
}
答案2
您需要让您的托管服务提供商支持该X-Forwarded-Host
标头。也许它已经起作用了,请尝试一下。这可以通过内置的 lighttpd 功能轻松添加。
proxy.forwarded = ( "host" => 1 )
在您的代理服务器中启用它。