我正在尝试使用 PHP 绑定(bind)到 LDAP 服务器。这是一个相当简单的过程,只是我无法解决我遇到的证书错误。我的身份验证凭据很好,因为我可以使用 Apache Directory Studio 连接到服务器。有什么办法可以自动接受服务器证书吗?类似于您使用 Apache directory studio 单击“接受此证书 ..”的方式?我知道这不是很好的安全措施,但我现在只需要让它正常工作,以后就可以解决证书问题。
谢谢
最佳答案
您没有指定环境,所以这是答案(可在本网站的其他地方找到:How do I solve ldap_start_tls() "Unable to start TLS: Connect error" in PHP?):
Linux:在客户机(PHP 网络服务器)上修改系统正在使用的 ldap.conf 文件,在 RH/Fedora 中,您需要的文件是 /etc/openldap/ldap.conf
(不是/etc/ldap.conf
,那是为了系统认证...)。添加/修改以下行:
TLS_REQCERT never
Windows:添加如下系统环境变量:
LDAPTLS_REQCERT=never
或者在您的 PHP 代码中,在 ldap_connect 之前,放置以下内容:
putenv('LDAPTLS_REQCERT=never');
这些将确保客户端 Web 服务器 PHP 实例永远不会根据证书的 CN
(通用名称)检查服务器的 FQDN
。在使用虚拟 IP 和证书的集群环境中非常有用。但是由于这也使得网络服务器计算机上整个操作系统中的其他工具/应用程序也不会检查这一点,因此请确保您的环境允许此更改(高安全性环境可能不允许)。
关于php - 在使用 PHP 绑定(bind)到 LDAP 服务器时需要帮助忽略服务器证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3866406/