我正在尝试设置一个网络负载均衡器,它根据第 3 层/第 4 层(IP 协议)数据将流量引导至健康的服务器。
问题:这对 LDAP over SSL (LDAPS) 有用吗?(我知道第 7 层根据需要执行 TLS/SSL 解密)
我有一个网络负载均衡器,我的两个后端服务器正在运行 LDAP 服务。
运行ldapsearch
结果如下:
目标 | 询问 | 地位 |
---|---|---|
后端服务器1 | ldapsearch -x -H ldap://<Backend1> |
成功的 |
后端服务器1 | ldapsearch -x -H ldaps://<Backend1> |
成功的 |
后端服务器2 | ldapsearch -x -H ldap://<Backend2> |
成功的 |
后端服务器2 | ldapsearch -x -H ldaps://<Backend2> |
成功的 |
网络负载均衡器 | ldapsearch -x -H ldap://<NLB> |
成功的 |
网络负载均衡器 | ldapsearch -x -H ldaps://<NLB> |
不是成功的 |
关于如何解决这个问题有什么建议吗?
编辑:
运行时ldapsearch -x -H ldaps://<NLB>
出现以下错误:
ldap_sasl_interactive_bind: Can't contact LDAP server (-1)
additional info: (unknown error code)
添加-d1
选项:
ldap_url_parse_ext(ldaps://ipa.example.com)
ldap_create
ldap_url_parse_ext(ldaps://ipa.example.com:636/??base)
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP ipa.example.com:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 10.141.4.23:636
ldap_pvt_connect: fd: 3 tm: -1 async: 0
attempting to connect:
connect success
TLS: hostname (ipa.example.com) does not match common name in certificate (ipa2.exmaple.com).
TLS: can't connect: (unknown error code).
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
所以... 似乎我需要将证书附加到包含 ipa1 和 ipa2 的 NLB?我不确定云提供商是否支持此功能。
笔记:由于它是一项托管服务,因此我无法通过 SSH 进入 NLB。
答案1
It seems like I need to attach a certificate to the NLB containing both ipa1 and ipa2 in the certificate?
不,您需要一个带有 的证书ipa.example.com
,这似乎是您为负载均衡器使用的名称。
如果您还希望能够直接联系 LDAP 服务器(绕过负载平衡器),则需要具有多个 SAN 的证书。
无论哪种方式,您都应该直接在 LDAP 服务器上安装证书,因为您的负载均衡器在第 4 层运行,因此它不会终止 SSL 连接,而只是将流量转发到其中一台服务器。
答案2
TLS: hostname (ipa.example.com) does not match common name in certificate
您正在使用的证书在 SAN 中没有客户端正在连接的名称。