“如何避免Apache”;“内部服务器错误”;如果无法访问其中一个LDAP身份验证提供程序?
我在Apache中为一个有两个AuthBasicProviders的网站使用LDAP身份验证。 如果其中一个LDAP服务器不可访问(例如,因为:服务器关闭或其网络不可访问),则如果要验证的UID来自此LDAP服务器,则会出现“内部服务器错误” 我怎样才能抓住这种情况并回复一个友好的信息呢。类似于:“如何避免Apache”;“内部服务器错误”;如果无法访问其中一个LDAP身份验证提供程序?,apache,authentication,ldap,Apache,Authentication,Ldap,我在Apache中为一个有两个AuthBasicProviders的网站使用LDAP身份验证。 如果其中一个LDAP服务器不可访问(例如,因为:服务器关闭或其网络不可访问),则如果要验证的UID来自此LDAP服务器,则会出现“内部服务器错误” 我怎样才能抓住这种情况并回复一个友好的信息呢。类似于: “很抱歉,我们目前无法检查您的身份验证。” UID对于两个ldap服务器都是唯一的 如果我把“ldap_remote”放在前面,它是不可访问的 =>它总是失败(不会询问“ldap_local”) 如
“很抱歉,我们目前无法检查您的身份验证。”
- UID对于两个ldap服务器都是唯一的
- 如果我把“ldap_remote”放在前面,它是不可访问的 =>它总是失败(不会询问“ldap_local”)
- 如果我将“ldap_local”放在前面,首先会搜索它 如果有UID=>Fine(密码是否正确)
- 但是如果UID不在“ldap\u local”上,则会询问“ldap\u remote”。 如果可以访问ldap_remote=>Fine(密码是否正确)。 但如果无法访问=>“内部服务器错误”:-(
# this one is always reachable
<AuthnProviderAlias ldap ldap_local>
AuthLDAPUrl ldap://127.0.0.1/dc=mycompany,dc=com
</AuthnProviderAlias>
# Not always available
<AuthnProviderAlias ldap ldap_remote>
AuthLDAPUrl ldap://xyz.mycompany.com:389/dc=mycompany,dc=com?sAMAccountName
AuthLDAPBindDN ldapadmin@mycompany.com
AuthLDAPBindPassword xxxxxxxxx
</AuthnProviderAlias>
# and later ...
<Location /foo >
AuthName "foo at my-server"
AuthType Basic
AuthBasicProvider ldap_local ldap_remote
Require valid-user
</Location>
#始终可以访问此项
AuthLDAPUrlldap://127.0.0.1/dc=mycompany,dc=com
#并非总是可用
AuthLDAPUrlldap://xyz.mycompany.com:389/dc=mycompany,dc=com?sAMAccountName
authldappinddnldapadmin@mycompany.com
AuthLDAPBindPassword xxxxxxxxx
#后来。。。
AuthName“我的服务器上的foo”
AuthType Basic
AuthBasicProvider ldap\u本地ldap\u远程
需要有效用户