Ubuntu Lighttpd HTTPS使用X-Forwarded-Proto

Ubuntu Lighttpd HTTPS使用X-Forwarded-Proto,ubuntu,lighttpd,Ubuntu,Lighttpd,我在Ubuntu16.04上的AWS ELB后面运行Lighttpd 1.4.35(APT上的最新版本)。负载平衡器正在接受端口80和443上的连接,并正在进行SSL终止 我试图检测请求是否使用HTTPS执行,但Lighttpd似乎忽略了X-Forwarded-Proto头。这只会导致无限的HTTP->HTTPS重定向。我在这里检查了这个问题:但只有一个解决办法,没有解决办法 我认为使用mod_extforward可能会有所帮助,但除了在日志中记录客户机IP之外,这似乎没有什么区别 以下是我的配

我在Ubuntu16.04上的AWS ELB后面运行Lighttpd 1.4.35(APT上的最新版本)。负载平衡器正在接受端口80和443上的连接,并正在进行SSL终止

我试图检测请求是否使用HTTPS执行,但Lighttpd似乎忽略了X-Forwarded-Proto头。这只会导致无限的HTTP->HTTPS重定向。我在这里检查了这个问题:但只有一个解决办法,没有解决办法

我认为使用mod_extforward可能会有所帮助,但除了在日志中记录客户机IP之外,这似乎没有什么区别

以下是我的配置的相关部分,如果您有任何想法可以在仍然使用Lighttpd的情况下正确使用此配置,我们将不胜感激:

server.modules = (
    "mod_accesslog",
    "mod_access",
    "mod_alias",
    "mod_compress",
    "mod_extforward",
    "mod_redirect",
    "mod_rewrite"
)

extforward.headers = ("X-Forwarded-For")
extforward.forwarder = ("all" => "trust")

# Check the domain
$HTTP["host"] =~ "^domain.com$" {
    # If not HTTPS, redirect to it
    $HTTP["scheme"] != "https" {
        # Redo the host condition check to allow us to access the %1 variable
        $HTTP["host"] =~ "^domain.com$" {
            url.redirect = ("^/(.*)" => "https://%1/$1")
        }
    }
}

看起来它在1.4.40(7月发布)中已修复:看起来它在1.4.40(7月发布)中已修复: