我无法登录 Nagios Web 界面

我无法登录 Nagios Web 界面

当我尝试在 Web 浏览器中登录 Nagios 时,在 Nagios 页面上反复输入登录名和密码后http://127.0.0.1/nagios/,我得到了以下信息:

需要授权

此服务器无法验证您是否有权访问所请求的文档。您提供的凭据有误(例如密码错误),或者您的浏览器无法提供所需的凭据。Apache/2.2.15 (Red Hat) 服务器位于 127.0.0.1 端口 80

我修改了密码:

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

并重新启动服务器:

service httpd restart

但没有结果!

答案1

<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:它应该是/etc/nagios/htpasswd.users而不是/etc/nagios/htpasswd

答案2

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

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

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

答案3

在 Apache 2.4 中,指令“Require”取代了指令“Order allow,deny”。但是,仍然存在一个错误,因此 Require valid-user 不起作用,但 Require user 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>

现在有效:)

答案4

更改 /usr/local/nagios/etc/htpasswd.users 文件的权限

chmod 755 /usr/local/nagios/etc/htpasswd.users

我通过更改权限解决了这个错误。

相关内容