我的设置有当前的身份验证配置。它强制任何远程主机进行身份验证。这很好。但我需要破例。
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"
)
)
}