Active Directory LDAPS通过自签名证书启用。但是PHP客户端无法与AD服务器进行身份验证

Active Directory LDAPS通过自签名证书启用。但是PHP客户端无法与AD服务器进行身份验证,php,linux,active-directory,ldap,self-signed,Php,Linux,Active Directory,Ldap,Self Signed,我已使用LDAP配置Active Directory,LDAP具有通过AD CS角色创建的自签名证书。我在本文的帮助下进行了配置,我想在linux机器上连接一个php应用程序,通过LDAPS与AD目录连接 因此,在那之后,我在Windows Server 2012计算机上验证了与ldp.exe工具的连接。它验证连接是否已建立。 所以我在AD中创建了用户,以便在linux机器上为我的一个php应用程序获得身份验证。因此,当我尝试通过LDAP进行通信时,它是有效的。但当我试图通过LDAPS连接时,

我已使用LDAP配置Active Directory,LDAP具有通过AD CS角色创建的自签名证书。我在本文的帮助下进行了配置,我想在linux机器上连接一个php应用程序,通过LDAPS与AD目录连接

因此,在那之后,我在Windows Server 2012计算机上验证了与ldp.exe工具的连接。它验证连接是否已建立。 所以我在AD中创建了用户,以便在linux机器上为我的一个php应用程序获得身份验证。因此,当我尝试通过LDAP进行通信时,它是有效的。但当我试图通过LDAPS连接时,它失败了。我为客户端的身份验证提供了IP地址和主机名

如前所述,我尝试连接LDAP并成功。但它并没有失败,但当我提供主机名时,验证时间太长了;但当我给IP时,它成功了。但对于LDAP,两种方案都失败了。我根据上面的链接为主机名创建了证书。我还将客户机上的主机名添加到/etc/hosts文件中

这是因为自签名证书问题吗??。我对Active Directory真的很陌生


我希望通过LDAPS以及LDAP进行身份验证。但对于ldap,它不会得到身份验证。我遗漏了什么或配置错误。

是的,很可能是证书。首先,您必须使用证书分配给的域名-您不能使用IP连接

但是,客户端计算机必须信任证书才能使连接正常工作

对于测试,您可以通过将此文件放入ldap.conf文件(可能位于
/etc/ldap/ldap.conf
)来告诉它甚至不要检查证书:

这样,它仍将使用证书进行加密,但不会验证证书的任何内容


但是对于测试以外的任何事情,您都应该确保证书被正确信任,因为证书的部分工作是验证您是否与正确的服务器进行了通信。这里有一些说明(您需要先将证书导出到文件):

是的,可能是证书。首先,您必须使用证书分配给的域名-您不能使用IP连接

但是,客户端计算机必须信任证书才能使连接正常工作

对于测试,您可以通过将此文件放入ldap.conf文件(可能位于
/etc/ldap/ldap.conf
)来告诉它甚至不要检查证书:

这样,它仍将使用证书进行加密,但不会验证证书的任何内容


但是对于测试以外的任何事情,您都应该确保证书被正确信任,因为证书的部分工作是验证您是否与正确的服务器进行了通信。这里有一些说明(您需要先将证书导出到一个文件):

在查找PHP的特定信息在查找PHP的特定信息
TLS_REQCERT never