我无法login到Nagios Web界面

当我尝试在我的网页浏览器中loginNagios,并在我的Nagios页面http://127.0.0.1/nagios/反复input我的login名和密码后,我得到这个:

需要授权

此服务器无法validation您是否有权访问请求的文档。 要么提供了错误的凭据(例如错误的密码),要么您的浏览器不知道如何提供所需的凭据。 Apache / 2.2.15(红帽)服务器在127.0.0.1端口80

我改了密码:

 htpasswd -c /etc/nagios/htpasswd.users nagiosadmin 

并重新启动服务器:

 service httpd restart 

但没有结果!

 <Directory "/usr/lib/nagios/cgi-bin/"> Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /etc/nagios/passwd Require valid-user </Directory> 

你已经为AuthUserFile指定了错误的path:它应该是/etc/nagios/htpasswd.users而不是/etc/nagios/htpasswd

确保Apache的用户可以读取/etc/nagios/htpasswd.users

如果你的apache用户是www-data ,那么:

 $ sudo chown www-data /etc/nagios/htpasswd.users $ sudo chmod 600 /etc/nagios/htpasswd.users 

在Apache 2.4下,指令“Require”replace指令“Order allow,deny”。 但是,仍然有一个错误,所以要求有效用户不起作用,但需要用户xyz。 所以…

 ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin" <Directory "/usr/local/nagios/sgin"> #SSLRequireSSL Options ExecCGI AllowOverride None <RequireAll> Require user nagiosadmin AuthName Nagios AuthType Basic AuthUserFile "/usr/local/nagios/etc/htpasswd.users" </RequireAll> </Directory> Alias /nagios "/usr/local/nagios/share" <Directory "/usr/local/nagios/share"> #SSLRequiresSSL Options None AllowOverride None <RequireAll> Require user nagiosadmin AuthName Nagios AuthType Basic AuthUsrFile "/usr/local/nagios/etc/htpasswd.users" </RequireAll> </Directory> 

现在工作:)