
我正在嘗試設定一個網路負載平衡器,它根據第 3 層/第 4 層(IP 協定)資料將流量引導到健康的伺服器。
Q:這適用於 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 中沒有客戶端連線到的名稱。