我正在尝试为我的网络服务器提供冗余 LDAP 身份验证。
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<AuthnProviderAlias ldap ldap-one>
AuthLDAPBindDN "search@domain"
AuthLDAPBindPassword "pass"
AuthLDAPURL "ldap://###.###.###.###/dc=domain,dc=local?sAMAccountName?sub" NONE
</AuthnProviderAlias>
<AuthnProviderAlias ldap ldap-two>
AuthLDAPBindDN "search@domain"
AuthLDAPBindPassword "pass"
AuthLDAPURL "ldap://###.###.###.###/dc=domain,dc=local?sAMAccountName?sub" NONE
</AuthnProviderAlias>
<Directory "/usr/local/nagios/sbin">
Order deny,allow
Allow from all
AuthBasicProvider ldap-one ldap-two
AuthType Basic
AuthName "Authentication"
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
Order deny,allow
Allow from all
AuthBasicProvider ldap-one ldap-two
AuthType Basic
AuthName "Authentication"
Require valid-user
</Directory>`
成功了!但是,这样做的目的是,当 ldap-one 因某种原因离线时,我仍然可以登录。因此,我将 ldap-one 的 IP 地址更改为另一个不会去任何地方的 IP 地址,然后重新加载。
现在,当我尝试登录时,出现“内部服务器错误”。如果我将 AuthBasicProvider 中的顺序切换为 ldap-two ldap-one,那么它就可以工作了。
因此看起来它只检查 AuthBasicProvider 的第一个条目。
这是我一直关注的文档/示例:https://httpd.apache.org/docs/2.2/mod/mod_authn_alias.html
信息:
# httpd -v
Server version: Apache/2.4.6 (CentOS)
# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
非常感谢,
奥利