我正在尝试使用 docker 创建一个 openldap 服务器,然后我可以通过我们的内部网连接到它。我已将其设置为作为主机运行,这样它就不会导致任何网络问题,我们可以使用网络 DNS。我正在使用此图像https://github.com/osixia/docker-openldap
这是我用来启动容器的代码;
docker run --net=host --name arq --hostname <fqdn of host server> --env LDAP_ORGANISATION="arq" --env LDAP_DOMAIN="<fqdn of host server>" --env LDAP_ADMIN_PASSWORD="<testpw>" --volume /docker/ldap3/ldap:/var/lib/ldap --volume /docker/ldap3/slapd:/etc/ldap/slapd.d --detach osixia/openldap
我强调,这在端口 389 上完美地实现了未加密通信。另一台机器上的 Nmap 显示端口 389 和 636 对 tcp 开放。
我知道正在使用的证书将是自签名的,因此我尝试在请求中考虑到这一点。我一直尝试使用以下方式进行连接;
LDAPTLS_REQCERT=never ldapsearch -d2 -H ldaps://<fqdn of host server> -x -D "uid=james,<fqdn of host server>" -W
我得到的失败是;
TLS:无法连接:TLS 连接未正确终止.. ldap_sasl_bind(SIMPLE):无法联系 LDAP 服务器(-1)
无论我是否设置 LDAPTLS_REQCERT
命令;
openssl s_client -connect orthanctest.sth.nhs.uk:636 -showcerts
返回
CONNECTED(00000003)
depth=1 C = US, O = A1A Car Wash, OU = Information Technology Dep., L = Albuquerque, ST = New Mexico, CN = docker-light-baseimage
verify error:num=19:self signed certificate in certificate chain
verify return:0
140309985457808:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
有什么想法可以使它工作,或者这根本不可能吗?