Lighttpd实现htaccess安全认证的方法
我们都知道在Linux上有一个强大的Apache服务器,他可以实现很多高级技巧,如我们需要对某个目录进行用户安全认证,保证其安全性。在Apache中,这一切都可以使用.htaccess文件进行控制,而且效果十分理想,不存在任何后门。那么今天我在这里说一下在Lighttpd这个轻量级服务器软件上,如何实现阻止非授权用户的访问。
打开/etc/lighttpd/lighttpd.conf文件
确认server.modules中开启"mod_auth" (将前面的#去掉即可)
## Auth
auth.debug = 0 #这里是调试信息。0是关闭
auth.backend = "plain" #验证方式。这里有4种,我们选择最简单的一种。
auth.backend.plain.userfile = "/etc/lighttpd/.lighttpdpwd" 验证用户名密码的文件
产生密码文件.lighttpdpwd
vi /etc/lighttpd/.lighttpdpwd
test:test
nicelover:123456
用户名可以累加,格式按照 user:password
案例
全局定义,我们可以在虚拟主机中设定,也可以在全局中设定,在全局中设定将对所有虚拟主机都产生作用。我们就对awstats的程序目录进行安全认证设定为例。
在空白处加上
auth.require = ( "/awstats" =>
(
"method" => "basic",
"realm" => "Authentication Awstats Management",
"require" => "valid-user"
),
)
这样,便对于任何一个域名所在地awstats目录进行了安全认证。
对于虚拟主机的文件夹进行安全认证,比如我们需要对数据库管理软件的入口进行安全认证,那我们也可以这样做
## phpmyadmin.nicelover.cn
$HTTP["host"] =~ "phpmyadmin\.nicelover\.cn$" {
auth.require = ( "/" =>
(
"method" => "basic",
"realm" => "Authentication PhpMyadmin Management",
"require" => "valid-user"
),
)
}
案例中,auth.require被定义域名的大括号所包围,安全认证将对此域名进行认证。
具体说明,请参照lighttpd官方wiki
http://trac.lighttpd.net/trac/wiki/Docs%3AModAuth