我正在尝试使用PHP绑定到LDAP服务器.这是一个相当简单的过程,除了我无法绕过我得到的证书错误.我的身份验证凭据很好,因为我可以使用Apache Directory Studio连接到服务器.有没有办法自动接受服务器证书?与您如何使用Apache directory studio单击"Accept this cert .."类似?我知道这不是很好的安全性,但我只需要让它在这一点上工作,并且可以在以后解决证书问题.
谢谢
小智 33
你没有指定环境,所以这里是答案(在本网站的其他地方找到:如何在PHP中解决ldap_start_tls()"无法启动TLS:连接错误?"):
Linux:在客户端机器(PHP Web服务器)上修改系统正在使用的ldap.conf文件,在RH/Fedora中,您需要的文件是/etc/openldap/ldap.conf(不是/etc/ldap.conf,用于系统身份验证...).添加/修改以下行:
TLS_REQCERT never
Run Code Online (Sandbox Code Playgroud)
Windows:添加如下所示的系统环境变量:
LDAPTLS_REQCERT=never
Run Code Online (Sandbox Code Playgroud)
或者在您的PHP代码中,在ldap_connect之前,输入以下内容:
putenv('LDAPTLS_REQCERT=never');
Run Code Online (Sandbox Code Playgroud)
这些将确保客户端Web服务器PHP实例永远不会根据证书FQDN的CN(公用名)检查服务器.在使用虚拟IP和证书的群集环境中非常有用.但是,由于这也使得Web服务器计算机上整个操作系统中的其他工具/应用程序也不会检查这一点,请确保您的环境允许此更改(高安全性环境可能不允许).