如何解决Apache2 LDAPS配置无法绑定/接受凭证
这是我第一次发布,因此如果我做错了事,请提前抱歉。我将用ip和用户名代替。
我有一个Windows Active Directory设置程序,我正在尝试使用它对我在单独的Ubuntu 18.04服务器上拥有的网页进行身份验证。我试图使用apache2(2.4.18)进行设置。在线文档似乎相当简单,但是我没有成功。首先,我不能使用
AD服务器使用自签名证书,我很难通过LDAPTrustedGlobalCert使其信任它。我得到了[Can't contact LDAP server]
,但是LDAPVerifyServerCert Off似乎让我暂时克服了这个障碍。
我最大的问题是绑定不起作用。刚加载网页时,我会在错误日志中看到它:
[authz_core:debug] [pid 2397] mod_authz_core.c(809): [client <myclientIP>:56969] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
[authz_core:debug] [pid 2397] mod_authz_core.c(809): [client <myclientIP>:56969] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
从那里我输入凭据以尝试进行身份验证,然后得到:
[Thu Aug 27 08:36:22.831527 2020] [authnz_ldap:debug] [pid 2396] mod_authnz_ldap.c(520): [client <myClientIP>:56887] AH01691: auth_ldap authenticate: using URL ldaps://<myLDAPIP>/dc=my,dc=example,dc=com?uid
[Thu Aug 27 08:36:22.888784 2020] [authnz_ldap:info] [pid 2396] [client <myClientIP>:56887] AH01695: auth_ldap authenticate: user <myUser> authentication failed; URI /auth/ [LDAP: ldap_simple_bind() failed][Invalid credentials]
[Thu Aug 27 08:36:22.888825 2020] [auth_basic:error] [pid 2396] [client <myClientIP>:56887] AH01617: user <myUser>: authentication failure for "/auth/": Password Mismatch
这是我对apache的配置。我在其中添加了注释行,以便您可以看到我尝试过的许多变体中的几个:
LDAPVerifyServerCert Off
<Directory "/var/www/html/auth">
AuthType Basic
AuthName "Authentication required"
AuthBasicProvider ldap
AuthLDAPURL ldaps://<myLDAPIP>/dc=my,dc=com?uid
#AuthLDAPURL ldaps://<myLDAPIP>:636/cn=Users,dc=my,dc=com
AuthLDAPBindDN <myUser>
#AuthLDAPBindDN cn=<myUser>,dc=com
AuthLDAPBindPassword <myPassword>
Require valid-user
#require ldap-group cn=Users,dc=com
#require ldap-group cn=Users
LogLevel debug
</Directory>
我到处搜索并尝试了许多配置,但是我不明白为什么它不适用于此配置。我至少还有其他三个与此Active Directory服务器一起使用LDAPS的程序。区别在于,他们全都对此提供了支持,而我无需对Apache做任何事情。
任何帮助将不胜感激! 预先感谢
解决方法
我实际上继续尝试多种配置,最后发现一种可行的方法。下面是起作用的代码:
<Directory "/var/www/html/auth">
AuthType Basic
AuthName "Authentication required"
AuthBasicProvider ldap
AuthLDAPURL "ldaps://<myLDAPIP>/dc=my,dc=example,dc=com?sAMAccountName"
AuthLDAPBindDN "myUser@my.example.com"
AuthLDAPBindPassword "<Password>"
Require valid-user
LogLevel debug
</Directory>
*如果您的证书不受信任,则可以添加LDAPVerifyServerCert Off,该证书应位于virtualhost块之外
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。