Lon*_*fPR 5 php openldap apache-2.2 centos6.5
我当前的设置是用户使用 LDAP 凭据登录网站。这都是内部的,所以我不太关心证书。所以,在我的/etc/openldap/ldap.conf
文件中我有TLS_REQCERT never
. 在将其添加到文件之前,我总是收到错误Error Binding to LDAP: TLS: hostname does not match CN in peer certificate
。添加后,一切似乎都工作正常。然而现在我发现一段时间后,也许几个小时到一天后,登录将再次失败,我将开始收到该错误。如果我重新启动 apache,一段时间内一切都会恢复正常。然后再次弹出错误。是什么导致这种情况持续发生?服务器是CentOS 6.5。
您必须检查证书的有效性,也许问题与此错误有关:
\n\n\n\n概括:
\n\n\n\n\n问题描述:
\n\n\n\n
TLS_REQCERT=never
当服务器证书在 有效期之前/之后时,设置将被忽略。在那一刻,连接失败。版本-所选组件的发布号(如果适用):
\n\n\n\n
openldap-2.4.23-15.el6
\nopenldap-2.4.24-3.fc15
重现性如何:
\n\n在 slapd 中设置证书以允许 TLS/SSL。证书可能无效(无效的颁发者、无效的服务器名称等)。
\n\n跑步:
\n\nLDAPTLS_REQCERT=never ldapsearch -x -ZZ ...
执行将成功,将使用 TLS。
\n\n将系统时间更改为超出证书的有效期。\n 再次运行相同的命令。这次命令将失败。
\n
更新:
\n您已在 OpenLDAP 中禁用证书检查ldap.conf
(这也应该适用于 php-ldap)。
\n添加您的 PHP 代码,在 ldap_connect 之前添加以下内容:
putenv(\'LDAPTLS_REQCERT=never\');\n
Run Code Online (Sandbox Code Playgroud)\n\n使用 PHP 绑定到 LDAP 服务器时需要忽略服务器证书的帮助
\n\n如何解决 PHP 中的 ldap_start_tls() \xe2\x80\x9cUnable to start TLS: Connect error\xe2\x80\x9d 问题?
\n\n更新2:
\n\n另一个问题可能是 apache 服务器没有ldap.conf
正确获取配置文件,请查看描述问题的链接:
http://php.net/manual/en/function.ldap-connect.php#36156
\n\n我希望这有帮助
\n 归档时间: |
|
查看次数: |
3550 次 |
最近记录: |