Apache 身份验证-子目录中的 http 请求失败

Apache 身份验证-子目录中的 http 请求失败

我正在运行 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 请求都能满足。

相关内容