Apache-2.2
驗證來自此 IP 的 http 請求除外
我在這裡的伺服器上執行了 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>