Apache Digest验证

Posted YunGaZeon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Digest验证相关的知识,希望对你有一定的参考价值。

Apache默认使用basic模块验证,都是明文传输,不太安全,所以本文使用Digest来验证,以提高安全性。 

  
1.Apache配置:

 A、目录权限配置 
Alias /nagios "/usr/local/nagios/share" 

<Directory "/usr/local/nagios/share">

    Options None 
   AllowOverride None

    Order allow,deny

    Allow from all

</Directory>

   
B、认证配置 
<Location /nagios>

 AuthType Digest 
AuthName "Nagios Access" 
AuthDigestDomain /nagios http://192.168.0.205/nagios

 AuthDigestProvider file 
AuthUserFile /usr/local/nagios/etc/nagios.users

 Require valid-user

</Location>   


C、认证模块配置 
查看httpd.conf里面是否有 
LoadModule auth_digest_module modules/mod_auth_digest.so 和 
LoadModule auth_basic_module modules/mod_auth_basic.so   
首先确认要有mod_auth_digest.so,这个没有就要重新编译apache了。 

其次确保把mod_auth_basic.so这行给注释掉。因为apache默认是用basic来认证的,如果不注释的话,即使你配置好了digest认证,也不会成功   


2.创建密码文件 
htdigest -c /usr/local/nagios/etc/nagios.users "Nagios Access" nagiosadmin 
这句命令里面有几个要注意的,我测试了好长时间才发现。 
Nagios Access-----这个解释为域  实现上是要和认证配置里面的 AuthName保持一致,不然认证失败   

 

3.访问 
在IE里输入http://192.168.0.205/nagios 就会弹出窗口,提示输入用户名和密码























以上是关于Apache Digest验证的主要内容,如果未能解决你的问题,请参考以下文章

Apache优化及模块的详解

apache HttpClient关于digest的一个大坑

Android异常SASL身份验证失败使用机制DIGEST-MD5

如何让 MD5/digest 身份验证适用于不同的域? [关闭]

如何在 android 中使用 volley 实现 Digest 身份验证

为啥来自其他用户的 Digest 身份验证 Java HttpClient 代码对我不起作用? [复制]