Uwierzytelnij żądania HTTP Z WYJĄTKIEM dla tego adresu IP

9

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>
Bill Weiss
źródło

Odpowiedzi:

8

„zaspokojenie każdego” jest rzeczywiście tym, czego potrzebujesz. Jest dobry przykład na wiki Apache. Cytując bezpośrednio z tego źródła:

<Directory /home/www/site1/private>
  AuthUserFile /home/www/site1-passwd
  AuthType Basic
  AuthName MySite
  Require valid-user
  Order allow,deny
  Allow from 172.17.10
  Satisfy any
</Directory>
Deutsch
źródło
Postanowiłem rozpocząć parowanie konfiguracji i zadziałało! Dzięki.
Bill Weiss,