현재 내 서버 중 하나를 다른 서버로 이식하고 있습니다. 해당 서버는 자체 서명된 인증서를 사용하여 Postfix + Dovecot을 실행하고 있습니다. 내 웹 프론트엔드는 라운드큐브였습니다. 이제 문제는 새 서버에 자체 서명된 인증서를 사용하는 데 알려진 문제가 있는 PHP 5.6이 설치되어 있다는 것입니다.
우선, roundcube의 오류는 다음과 같습니다.
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /var/www/roundcube/program/lib/Roundcube/rcube_imap_generic.php on line 915
[05-May-2015 13:11:11 +0200]: <8h4tkjbn> IMAP Error: Login failed for XXXXXXXXXXX from XXXXXXXXXXX. Unable to negotiate TLS in /var/www/roundcube/program/lib/Roundcube/rcube_imap.php on line 198 (POST /?_task=login?_task=login&_action=login)
나는 이것을 다음 위치에 넣을 수 있다는 것을 알았습니다 config.inc.php
.
$config['imap_conn_options'] = array(
'ssl' => array(
'verify_peer' => true,
'allow_self_signed' => true,
'verify_depth' => 3,
'cafile' => '/etc/postfix/sslcert/mailserver.crt',
),
);
$config['smtp_conn_options'] = array(
'ssl' => array(
'verify_peer' => true,
'allow_self_signed' => true,
'verify_depth' => 3,
'cafile' => '/etc/postfix/sslcert/mailserver.crt',
),
);
(.crt 및 .key 파일의 위치는 /etc/postfix/sslcert/mailserver.*
)
이것을 구성에 넣을 때 오류는 다음과 같습니다.
[05-May-2015 13:13:48 Europe/Berlin] PHP Warning: stream_socket_enable_crypto(): Unable to locate peer certificate CN in /var/www/roundcube/program/lib/Roundcube/rcube_imap_generic.php on line 915
이 구성 라인의 다양한 변형을 시도했지만 여기서 막혔습니다. 어쩌면 여기 누군가가 나를 도와줄 수도 있어요!
추가 정보가 필요하신 경우 댓글을 남겨주시면 첫 번째 게시물을 수정하겠습니다!
답변1
문제는 인증서를 제공한 CA의 인증서(체인 인증서)가 아니라 메일 서버 인증서를 지정하고 있다는 것입니다.