如何在apache web服务器中设置htdigest密码

时间:2019-08-20 17:58:19  来源:igfitidea点击:

通过这种方法,我们可以在web服务器中设置用户名和密码,这就是说只要有人打开网站,他就必须给出用户名和密码才能看到网站的内容。

htdigest和htpasswd有什么区别。可以查看访问这些链接。
http://httpd.apache.org/docs/2.2/programs/htdigest.html
http://httpd.apache.org/docs/2.2/programs/htpasswd.html

配置htdigest

在/etc/httpd/conf/httpd.conf中设置:

<Directory /var/www/website>
AllowOverride AuthConfig
Order Deny,Allow
Allow from all
DirectoryIndex index.php index.html
AuthType Digest
AuthName "RestrictedZone"
AuthDigestProvider file
AuthUserFile /etc/httpd/conf.d/.htdigestpasswd
Require valid-user
</Directory>

Directory ”/var/www/html/website“这是站点的主目录。

AllowOverride AuthConfig允许使用授权指令(AuthDBMGroupFile、AuthDBMUserFile、AuthGroupFile、AuthName、AuthType、AuthUserFile、Require等)。

AuthType这里我们使用的是摘要类型

AuthName在htdigest命令中,用于领域值。

AuthDigestProvider fileAuthDigestProvider指令设置使用哪个提供程序对该位置的用户进行身份验证。默认文件提供程序由mod_authn_文件模块实现。

AuthUserFile/etc/httpd/conf.d/.htdigestpasswd保存username passwd的文件位置

Require valid-user只有有效用户才能登录,即我们通过htdigest命令创建的用户

现在用htdigest命令设置用户名和密码

htdigest -c /etc/httpd/conf.d/.htdigestpasswd RestrictedZone username

重新启动apache服务

在 Red Hat 和 CentOS 中

 /etc/init.d/httpd restart
在 Debian 和 Ubuntu 中
a2enmod auth_digest
/etc/init.d/apache2 restart

在Red Hat和CentOS中,当我们在安装时安装'yum install httpd',mod_auth_digest也会像其他模块一样默认安装。我们可以通过ls-l/etc/httpd/modules | grep digest查看

如果没有,则必须安装mod_auth_digest模块。