Apache-2.2

驗證來自此 IP 的 http 請求除外

  • July 9, 2010

我在這裡的伺服器上執行了 Nagios(CentOS 5.3 w/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在這裡,他可以跳過那個auth的東西”。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>

“滿足任何”確實是您需要使用的。Apache wiki 上有一個很好的例子。直接從該來源引用:

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

引用自:https://serverfault.com/questions/159022