Lighttpd 设置受密码保护的目录(目录)
如果您需要使用 Lighttpd Web 服务器对某些目录进行身份验证,则可以使用 Lighttpd 的mod_auth模块。它允许您使用访问限制来保护 Web 服务器中的任何目录(就像Apache 的密码保护目录一样)。
Lighttpd 支持基本和摘要式身份验证方法。现在考虑以下示例设置:
- 域名:theos.in
- 要使用密码保护的目录(DocRoot):/home/lighttpd/theos.in/http/docs
- 用户名:vivek
- Lighttpd 密码文件:/home/lighttpd/.lighttpdpassword(此文件应位于默认 http 文档根目录之外)
如何使用基本身份验证方法?
易于实现,密码以明文格式存储在文件中。如果您要使用此方法,请确保使用 SSL(安全套接字层)连接/加密。
步骤#1:打开/etc/lighttpd/lighttpd.conf 文件
确保 mod_auth 已加载:
server.modules += ( "mod_auth" )
现在添加以下三个指令:
auth.debug = 2
auth.backend = "plain"
auth.backend.plain.userfile = "/home/lighttpd/.lighttpdpassword"
在哪里,
- auth.debug = 2:指定调试级别(0 关闭调试消息,1 表示身份验证成功消息,2 表示详细/冗长的调试消息)。这对于排除身份验证问题很有用。它会将消息记录在 access.log 和 error.log 文件中
- auth.backend = “plain”:您正在使用纯文本后端(其他选项是 ldap、htpasswd 和其他)
- auth.backend.plain.userfile = “/home/lighttpd/.lighttpdpassword”:用户名:密码存储的文件名
接下来,您需要指定要密码保护的目录。例如,考虑目录 /home/lighttpd/theos.in/http/docs 目录。找出您的域虚拟托管部分 (theos.in) 并附加以下文本:
其中,
auth.require = ( "/docs/" =>
(
"method" => "basic",
"realm" => "Password protected area",
"require" => "user=vivek"
)
)
- auth.require = (“/docs/” => : 目录名称
- “method” => “basic”,:认证类型
- “realm” => “密码保护区”,:密码领域/信息
- “require” => “user=vivek”:只有用户 vivek 可以使用 /docs/
最后,您的配置应如下所示:
$HTTP["host"] == "theos.in" {
server.document-root = "/home/lighttpd/theos.in/http"
server.errorlog = "/var/log/lighttpd/theos.in/error.log"
accesslog.filename = "/var/log/lighttpd/theos.in/access.log"
auth.require = ( "/docs/" =>
(
"method" => "basic",
"realm" => "Password protected area",
"require" => "user=vivek"
)
)
}
保存并关闭文件。
步骤#2:创建密码文件
创建纯文本用户名(vivek)和密码文件:
# vi /home/lighttpd/.lighttpdpassword
附加用户名:密码:
vivek:mysecretepassword
在哪里,
- vivek – 是用户名。请注意,不要使用存储在 /etc/passwd 文件中的系统用户。建议您使用其他用户名,该用户名仅用于验证受密码保护的目录。
- mysecretepassword – 是用户 vivek 的密码(对于纯文本方法,必须采用明文格式)
保存并关闭文件。确保文件 /home/lighttpd/.lighttpdpassword 可被 lighttpd 读取:
# chown lighttpd:lighttpd /home/lighttpd/.lighttpdpassword
最后,重新启动lighttpd服务器:
# /etc/init.d/lighttpd restart
步骤#3:测试您的配置
打开浏览器并将 Web 浏览器指向 http://yourdomain.com/docs/ 或 http://localhost/docs/ 或 http://ip-address/docs。系统将提示您输入用户名和密码。
这样,您就可以限制对网站某些区域的访问。确保您还使用 SSL 加密来验证用户身份,并使用安全摘要式身份验证。