证书替换后,Centos 上的 Apache 服务器无法进行 ldaps 身份验证

证书替换后,Centos 上的 Apache 服务器无法进行 ldaps 身份验证

我运行了许多服务器,有些运行 Ubuntu 12.04,有些运行 Centos 6.3。最近,我的 ldap 服务器上的自签名 SSL 证书已过期,因此我生成了一个新证书,并将其分发给所有需要它连接到 ldap 服务器以运行身份验证的 Apache2 服务器。在 Ubuntu 上运行的所有 Apache 2 服务器都运行良好,放入新证书后一切正常。但是在 Centos 上,使用新证书仍然一切失败。如果我切换到使用未加密的 ldap,它们会再次正常工作。

我对此进行了大量的研究,发现以下内容准确描述了我的情况:

https://issues.apache.org/bugzilla/show_bug.cgi?id=50630

无法弄清楚为什么 apache LDAP 身份验证失败

遗憾的是,我尝试将“LDAPVerifyServerCert Off”添加到我的配置中,但这没有帮助。如果有任何其他建议,我将不胜感激。

编辑1: 我做了进一步的挖掘,发现很多关于最近的 Centos ldap 包是针对 NSS 而不是 OpenSSL 构建的讨论,以及大小写问题。一个例子:http://www.openldap.org/lists/openldap-technical/201303/msg00162.html

那么,元问题来了,有人用这种方法解决过 SSL 相关问题吗?成功了吗?

答案1

我通过安装此处的 berkelydb 和 openldap 包解决了这个问题:

http://ltb-project.org/wiki/download

不同之处在于,Redhat 已开始将内容链接到 nss 而不是 openssl 以提供 ssl 支持。在这种情况下,这会破坏所有内容。安装这些软件包(链接到 openssl)可修复此问题。只需获取软件包并运行:

yum 安装 berkeleydb-ltb* openldap-ltb*

重新启动 apache,哇,问题解决了。

相关内容