Mam tutaj Nagios działający na serwerze (CentOS 5.3 z Apache 2.2.3-22.el5.centos) uwierzytelniający się na moim serwerze LDAP i wszystko działa dobrze. Chciałbym jednak, aby niektóre adresy IP mogły zobaczyć stronę stanu Nagios bez uwierzytelniania. Nagios ma tę opcję, aby przypisać użytkownika do osoby, która nie autoryzuje:
authorized_for_read_only=guest
default_user_name=guest
Co brzmi dobrze, ale to nie zajmuje się uwierzytelnianiem Apache. Moja obecna konfiguracja apache wygląda następująco:
<Directory "/usr/lib64/nagios/cgi">
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios/misc/htpasswd.users
Require valid-user
AuthBasicProvider file ldap
AuthzLDAPAuthoritative off
AuthBasicAuthoritative On
AuthLDAPGroupAttribute LDAPmember
AuthLDAPURL (my server stuff)
Require ldap-group CN=nagios,ou=groups,DC=local
</Directory>
To działa, ale chciałbym w jakiś sposób powiedzieć „ten adres IP tutaj, może pominąć to uwierzytelnianie”. Dyrektywa Apache Satisfy wygląda, jakby działała, więc wypróbowałem to:
<Directory "/usr/lib64/nagios/cgi">
AllowOverride None
Order allow,deny
Allow from (IP) <---- changed
Deny from all <---- changed
Satisfy any <---- changed
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios/misc/htpasswd.users
Require valid-user
AuthBasicProvider file ldap
AuthzLDAPAuthoritative off
AuthBasicAuthoritative On
AuthLDAPGroupAttribute LDAPmember
AuthLDAPURL (my server stuff)
Require ldap-group CN=nagios,ou=groups,DC=local
</Directory>
Ale to nie zmieniło zachowania strony. Myśli? „Działa dla mnie”? Wskaźniki odpowiednich uwag na temat aktualizacji informujące, że obejdę ten problem, jeśli przejdę do aktualizacji mojego serwera? :)
---- aktualizacja z odpowiedzią ----
Wyjąłem plik-lub-LDAP i spełniło się dla mnie. Prawdopodobnie robiłem tam coś złego, ale cokolwiek, teraz działa. Oto jak wygląda moja końcowa konfiguracja:
<Directory "/usr/lib64/nagios/cgi">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from 192.168.42.213
Satisfy any
AuthName "Nagios Access"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthBasicAuthoritative On
AuthLDAPGroupAttribute LDAPmember
AuthLDAPURL (my server stuff)
Require ldap-group CN=nagios,ou=groups,DC=local
</Directory>
źródło