Мы пытаемся подключить почтовый клиент к нашему почтовому серверу. У нас есть постфикс и Dovecot настроен и работает на убунту.
Мы видим, что Dovecot прослушивает правильный порт, используя:
$ sudo netstat -tunlp | grep :993
Мы можем успешно протестировать постфиксное соединение с помощью openssl:
$ openssl s_client -connect localhost:465
Но та же команда на порту IMAPS не работает:
$ openssl s_client -connect localhost:993
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 305 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1529946289
Timeout : 300 (sec)
Verify return code: 0 (ok)
/ вар / журнал / голубь
imap-login: Fatal: Can't load ssl_cert: There is no valid PEM certificate. (You probably forgot '<' from ssl_cert=<)
master: Error: service(imap-login): command startup failed, throttling for 2 secs
Мы пробовали много вещей (о чем свидетельствуют похожие проблемы и сообщения в блогах), но безуспешно, и на данном этапе это сводит нас с ума. Кажется, что решение находится всего в нескольких минутах ходьбы, но так было уже несколько часов ...
Есть идеи, что может быть не так?
doveconf -n
# 2.2.22 (fe789d2): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.13 (7b14904)
# OS: Linux 4.4.0-1060-aws x86_64 Ubuntu 16.04.4 LTS ext4
auth_verbose = yes
base_dir = /var/run/dovecot/
info_log_path = /var/log/dovecot.info
listen = *
log_path = /var/log/dovecot
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n
passdb {
args = /etc/dovecot/passwd
driver = passwd-file
}
protocols = imap
service auth {
executable = /usr/lib/dovecot/auth
unix_listener /var/spool/postfix/private/auth-client {
group = postfix
mode = 0660
user = postfix
}
user = root
}
service imap-login {
chroot = login
executable = /usr/lib/dovecot/imap-login
user = dovecot
}
service imap {
executable = /usr/lib/dovecot/imap
}
userdb {
args = /etc/dovecot/users
driver = passwd-file
}
valid_chroot_dirs = /var/spool/vmail
conf.d / 10-ssl.conf
ssl = yes
ssl_cert = </etc/ssl/certs/certificate.crt
ssl_key = </etc/ssl/private/key.key
ssl_ca = </etc/ssl/certs/certificate.ca-bundle
Разрешения файла сертификата и ключа (одни и те же файлы используются postfix и Dovecot)
-rw------- 1 root root /etc/ssl/certs/certificate.crt
-rw------- 1 root root /etc/ssl/private/key.key