我正在运行 apachev2.2 服务器,并使用 LDAP 来验证根目录。身份验证工作正常,但是我的页面使用 php,它使用 file_puts_content 函数从外部站点抓取 rss。当我启用身份验证时,我收到流式传输失败、连接被拒绝的消息。当身份验证关闭时,一切都正常。这是我的 .htaccess 文件。我尝试了 .htaccess 和 httpd.conf。我认为我缺少一个属性来允许根目录中的页面发出 http 请求。
AuthType Basic
AuthName "Newtork ID"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://ldap.server:389/ou=users,ou=staff,dc=blah,dc=com?samaccountname
AuthLDAPBindDN "cn=binduser,cn=users,dc=blah,dc=com"
AuthLDAPBindPassword bindpassword
Require valid-user
就身份验证而言,这工作正常,只是子目录内的 http 请求失败了/我希望这是有意义的。
答案1
以下是我解决问题的方法,我在 .htaccess 文件中添加了以下内容
Order allow,deny
Allow from <internal server ip>
Require valid-user
Satisfy Any
因此,最终的文件如下所示:
Order allow,deny
Allow from <internal server ip>
Require valid-user
Satisfy Any
AuthType Basic
AuthName "Newtork ID"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://ldapserver.com:389/ou=users,ou=staff,dc=blah,dc=com?samaccountname
AuthLDAPBindDN "cn=binduser,cn=users,dc=blah,dc=com"
AuthLDAPBindPassword bindpassword
这使得以 ldap 用户身份登录时任何 http 请求都能满足。