Назад | Перейти на главную страницу

Резервная аутентификация LDAP в Apache 2.4

Я пытаюсь предоставить своему веб-серверу избыточную аутентификацию 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 по какой-то причине отключен, я все еще могу войти в систему. Итак, я меняю IP-адрес ldap-one на другой 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)

Большое спасибо,

Олли