Lighttpd 代理模块 - 与主机名一起使用

Lighttpd 代理模块 - 与主机名一起使用

我必须通过 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 )

在您的代理服务器中启用它。

相关内容