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

Аутентифицировать HTTP-запросы, ЗА ИСКЛЮЧЕНИЕМ для этого IP

У меня на сервере работает Nagios (CentOS 5.3 с Apache 2.2.3-22.el5.centos), аутентифицируемый на моем сервере LDAP, и все работает хорошо. Однако мне бы хотелось, чтобы какой-нибудь IP-адрес мог видеть страницу статуса Nagios без аутентификации. У Nagios есть возможность назначить пользователя кому-то, кто не авторизован:

authorized_for_read_only=guest
default_user_name=guest

Звучит правильно, но это не касается аутентификации Apache. Моя текущая конфигурация apache выглядит так:

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

Это работает, но я бы хотел как-нибудь сказать «вот этот IP, он может пропустить эту авторизацию». Апач Удовлетворять Директива выглядит так, как будто она сработает, поэтому я попробовал это:

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

Но это не повлияло на поведение сайта. Мысли? "У меня работает" s? Указатели на соответствующие примечания к обновлению, в которых говорится, что я решу эту проблему, если дойду до обновления своего сервера? :)

---- обновить с ответом ----

Я вынул файл или LDAP, и у меня сработало удовлетворение. Я, наверное, там что-то делал не так, но как бы то ни было, теперь это работает. Вот как выглядит моя окончательная конфигурация:

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

"Удовлетворить любое" - это действительно то, что вам нужно использовать. Eсть хороший пример в вики-сайте Apache. Процитируем прямо из этого источника:

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