所以我使用 Apache 2.4,我想设置一个与 LDAP 连接的基本身份验证,然后是反向代理。这个想法是使用此授权来保护网页。所以这是我的配置:
Order deny,allow
Deny from All
AuthType Basic
AuthName "Please login"
AuthBasicProvider ldap
#LDAPVerifyServerCert Off
AuthLDAPURL ldap://ldap data here
AuthLDAPBindDN "dn here"
AuthLDAPBindPassword pass
AuthLDAPGroupAttribute sAMAccountName
AuthLDAPGroupAttributeIsDN off
#Require ldap-group some settings
Require ldap-filter ldapsettingshere
AuthLDAPMaxSubGroupDepth 1
#Require valid-user
#Satisfy any
RequestHeader unset Authorization
ProxyRequests On
ProxyVia On
ProxyPass / http://numbers:8090/
ProxyPassReverse / http://numbers:8090/
ProxyPreserveHost On
#RequestHeader set Authorization "Basic"
#ProxyRequests Off
#AllowEncodedSlashes NoDecode
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
问题是,当我访问我的 Apache http 时,它不会提示输入基本身份验证密码和登录名,而是直接进入代理网页。知道我做错了什么吗?
更新: 好的,我已取消注释:
RequestHeader set Authorization "Basic"
但是现在我陷入了基本身份验证提示的无限循环中,这些提示来自最终服务器,所以情况并非如此。
答案1
造成这种情况的原因是我将整个 Auth 部分放在了里面<Directory "/var/www/html"></Directory>
,我已将其更改为<Location "/"></Location>
并且它运行良好!