【发布时间】:2014-01-07 21:03:39
【问题描述】:
我刚刚推出了一个与生产配置相同的开发服务器(CentOS 6.5,相同的 AMP 堆栈)。过去,我必须在同一台机器上运行开发实例(在不同的基于 IP 的虚拟主机下)。 ldap_bind 在旧的 monobox 设置中完美运行。
我有单独的 ssl crt 文件用于生产和开发 (prod & dev)。设置新机器后(使用 puppet - 与生产相同的配置),我复制了开发 crt 文件并确保 apache 配置加载正常。与以前相同的 IP 地址用于开发。
当我尝试在开发系统上对 ldap 进行身份验证时,我收到以下错误:
PHP 警告: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in /some/path/function/functions_security.php on line 1234, referer: http://my.application.com/somescript.php
somescript.php 的第 1234 行是
$r = ldap_bind($ldap_conn, $srvc_dn, $srvc_pass);
无需发布参数,因为它们在生产系统和开发系统之间相同。制作完美无瑕。
我已确认在提供的端口下通过远程登录到 ldap 服务器的开发机器上没有防火墙或网络问题。我可以正常连接。
网络运营人员说请求失败的原因是因为我没有在开发系统上“将证书导入商店”。我用谷歌搜索了一下,但也许我没有使用正确的关键字 - 我没有找到如何检查我的开发“密钥库”中的证书。
我看到keytool 的一些文档,它可以在 .jks 文件中列出证书 - 但我在生产或开发系统上都找不到 .jks 文件。
一些潜在客户/搜索关键字/建议会非常有帮助,因为我目前陷入困境。
【问题讨论】: