lighttpd:如何在第二个站点上禁用身份验证

lighttpd:如何在第二个站点上禁用身份验证

我的设置有当前的身份验证配置。它强制任何远程主机进行身份验证。这很好。但我需要破例。

auth_file="/etc/lighttpd.users"
#if auth_file is not empty enable lighttpd local authentification

if grep -q ".*:.*" "$auth_file" 2>/dev/null;then
    sed -ir '/^$/d' $auth_file
    cat <<EOF
\$HTTP["remoteip"] != "127.0.0.1" {

    auth.backend = "htdigest"
    auth.backend.htdigest.userfile = "$auth_file"

    auth.require = (
        "/" => (
        "method"  => "digest",
        "realm"   => "MyRealm",
        "require" => "valid-user"
        )
    )
}
EOF
fi

我在另一个端口上设置了第二个服务器(如下所示)。我想对我的身份验证脚本进行例外设置,这样第二个站点的用户就不需要身份验证了。

$SERVER["socket"] == ":8080" {
        server.document-root = "/www2"
                }

答案1

似乎您已经拥有它,只是没有组合在一起。如果您有上述其他服务器的配置选项,您可能需要先将其放入 else 块中。

\$SERVER["socket"] == ":8080" {
    server.document-root = "/www2"
} 
else \$HTTP["remoteip"] != "127.0.0.1" {

    auth.backend = "htdigest"
    auth.backend.htdigest.userfile = "$auth_file"

    auth.require = (
        "/" => (
        "method"  => "digest",
        "realm"   => "MyRealm",
        "require" => "valid-user"
        )
    )
}

相关内容