Ldap

Dovecot 無法通過 ldaps 連接到 ldap 伺服器

  • December 11, 2021

我有一個 LDAP 伺服器,它通過埠 636 上的 ldaps 接受請求。我已經將它用於我的許多應用程序,並且我希望我的 dovecot 伺服器也使用它進行身份驗證。

dovecot ldap 配置:

uris = ldaps://<<ldap-url>>:636
auth_bind = yes
dn = <<dn>>
dnpass = <<pw>>
ldap_version = 3
base = <<base>>
deref = never
scope = subtree
default_pass_scheme = SSHA
blocking=yes # apparently this sometimes helps, but not in this case

# user filter
#user_attrs = mailHomeDirectory=mail,mailStorageDirectory=mail,mailQuota=quota_rule=*:bytes=%$
user_attrs = 
user_filter = (&(objectClass=mailUser)(maildrop=%u))

# password filter
#pass_attrs  = maildrop=user,userPassword=password
pass_attrs = userPassword=password
pass_filter = (&(objectClass=mailUser)(maildrop=%u))

#iterate_attrs = mail=user
#iterate_filter = (objectClass=mailUser)

LDAP 伺服器已啟動並正在執行,我可以使用 JXplorer 配置的 pass 和 base 綁定到配置的 dn,但不能使用 dovecot。

相關日誌部分:

dovecot: auth-worker(15177): Error: LDAP: Can't connect to server: ldaps://ldap.ropi.dev:636

這個問題(以及擴展的解決方案)是一個非常獨特的問題。所以我開始做這一切的全部原因是我想對我的伺服器進行第一階段。在大多數情況下,我從中刪除了所有功能,這是最後一個。

這也意味著我有一段時間沒有更新我的包了。

現在我使用 LetsEncrypt 證書進行 SSL 通信。問題是,LetsEncrypt 提供的鏈中的證書之一已於 2021.09.30 過期。由於我有一段時間沒有更新系統,所以我的證書鏈沒有新證書。這就是我不斷收到 tls 握手錯誤的原因。

所以我的解決方案很簡單:

sudo yum upgrade -y
sudo systemctl restart dovecot

感謝@naxto asenjo 幫助我發現了這個問題。

引用自:https://serverfault.com/questions/1085432