Аутентификация HTTP-запросов, КРОМЕ от этого IP


9

У меня есть 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 здесь, он может пропустить эту аутентичную штуку». Директива Apache Satisfy выглядит так, как будто она будет работать, поэтому я попробовал это:

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

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

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

Я вынул файл-или-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>

Ответы:


8

«удовлетворить любого» действительно то, что вам нужно использовать. На вики 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>

Я решил начать очистку моего конфига, и это сработало! Спасибо.
Билл Вайс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.