Dovecot açılışında ya da yeniden yüklemesinde Can't load SSL certificate veya ssl_cert: Can't open file benzeri bir hata görürseniz IMAP/POP3 şifreli bağlantıları kurulamaz. Dovecot yapılandırmasının kendine özgü bir kuralı, en sık yapılan hatanın da kaynağıdır.
Dosya yollarındaki "<" kuralı
Dovecot 2.x'te ssl_cert ve ssl_key değerleri dosya adının önüne < işareti konarak verilir; bu işaret "dosyanın içeriğini oku" anlamına gelir. İşaret unutulursa Dovecot yolu sertifika metni sanır.
# /etc/dovecot/conf.d/10-ssl.conf
ssl = required
ssl_cert = </etc/ssl/certs/mail.ornek.com.fullchain.pem
ssl_key = </etc/ssl/private/mail.ornek.com.key
Diğer nedenler
- Dosya yolu yanlış ya da dosya taşınmış/silinmiş (ör. yenileme sonrası dizin adı değişti).
- Özel anahtar okunamıyor; Dovecot anahtarı ana süreç üzerinden root olarak okur ancak dosya izinleri çok kısıtlı veya SELinux bağlamı yanlış olabilir.
- Sertifika ve anahtar çifti birbirine ait değil.
- Sertifika dosyası yalnızca yaprak içeriyor ve zincir eksik (hata vermez ama istemciler uyarır).
Adım adım kontrol
- Etkin yapılandırmayı görün:
doveconf -n | grep ssl. - Dosyaların varlığını ve okunabilirliğini kontrol edin.
- Anahtar-sertifika eşleşmesini doğrulayın:
openssl x509 -noout -modulus -in fullchain.pem | openssl md5 openssl rsa -noout -modulus -in anahtar.key | openssl md5 - Değişiklikten sonra
systemctl reload dovecotçalıştırın ve günlüğü izleyin. - Bağlantıyı test edin:
openssl s_client -connect mail.ornek.com:993.
Önleme
Yenileme sonrası Dovecot'u otomatik yeniden yükleyen bir kanca tanımlayın. Zinciri dışarıdan görmek için SSL denetleme aracını, sertifika temini için SSL sertifikaları sayfasını kullanabilirsiniz.
Ek notlar
- Birden çok alan adı için SNI ile farklı sertifika sunacaksanız
local_namebloklarını kullanabilirsiniz. - Yapılandırma dosyalarında fazladan boşluk veya eksik satır sonu bazen değerin yanlış okunmasına yol açar;
doveconf -nçıktısı gerçek değeri gösterir. - Sertifika yenilemesinden sonra yalnızca Dovecot değil, aynı sertifikayı kullanan Postfix'i de yeniden yükleyin.
Posta istemcisinde sertifika uyarısı alıyorsanız sunucu adının sertifikadaki adla aynı olduğunu da doğrulayın.
Özet: Önce "<" işaretini, sonra yol, izin ve anahtar eşleşmesini kontrol edin.