Apache 使用Digest验证

【背景】 一般Apache使用htpasswd来产生帐号密码验证,而Apache默认使用basic模块验证,都是明文传输,不太安全,所以本文使用Digest来验证,以提高安全性

【思路】 使用htdigest产生帐号密码,修改apache的配置文件

1.Apache配置:
A、目录权限配置

Source code    
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>

B、认证配置

Source code    
<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里面是否有

Source code    
LoadModule auth_digest_module modules/mod_auth_digest.so


Source code    
LoadModule auth_basic_module modules/mod_auth_basic.so

首先确认要有mod_auth_digest.so,这个没有就要重新编译apache了。
其次确保把mod_auth_basic.so这行给注释掉。因为apache默认是用basic来认证的,如果不注释的话,即使你配置好了digest认证,也不会成功

2.创建密码文件

Source code    
htdigest -c /usr/local/nagios/etc/nagios.users "Nagios Access" nagiosadmin
Adding password for nagiosadmin in realm Nagios Access.
New password:
Re-type new password:

这句命令里面有几个要注意的,我测试了好长时间才发现。
Nagios Access—–这个解释为域  实现上是要和认证配置里面的 AuthName保持一致,不然认证失败

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

你可能感兴趣的:(Apache 使用Digest验证)