Authentifier les requêtes http SAUF pour cette IP

9

J'ai Nagios en cours d'exécution sur un serveur ici (CentOS 5.3 avec Apache 2.2.3-22.el5.centos) s'authentifiant sur mon serveur LDAP, et tout fonctionne bien. Cependant, j'aimerais avoir une adresse IP capable de voir la page d'état de Nagios sans s'authentifier. Nagios a cette option pour affecter un utilisateur à quelqu'un qui n'authentifie pas:

authorized_for_read_only=guest
default_user_name=guest

Cela semble juste, mais cela ne prend pas en charge l'authentification Apache. Ma configuration Apache actuelle ressemble à ceci:

<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>

Cela fonctionne, mais j'aimerais pouvoir dire "cette adresse IP ici, il peut ignorer ces informations d'authentification". La directive Apache Satisfy semble fonctionner, alors j'ai essayé ceci:

<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>

Mais cela n'a pas changé le comportement du site. Pensées? "Ça marche pour moi"? Des pointeurs vers des notes de mise à niveau appropriées disant que je contournerais ce problème si je pouvais mettre à niveau mon serveur? :)

---- mise à jour avec réponse ----

J'ai retiré les fichiers ou LDAP, et je me suis contenté de travailler pour moi. Je faisais probablement quelque chose de mal là-dedans, mais peu importe, cela fonctionne maintenant. Voici à quoi ressemble ma dernière configuration:

<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
la source

Réponses:

8

"satisfaire tout" est en effet ce que vous devez utiliser. Il y a un bon exemple sur le wiki Apache. Pour citer directement à partir de cette source:

<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
la source
J'ai décidé de commencer à réduire ma configuration, et cela a fonctionné! Merci.
Bill Weiss