고급 기능이 전혀 필요 없다면 POSTCONF_smtpd_tls... 변수를 사용할 필요가 없는 것이 맞나요?
웹사이트는 물론 HTTPS입니다.
고급 기능이 전혀 필요 없다면 POSTCONF_smtpd_tls... 변수를 사용할 필요가 없는 것이 맞나요?
웹사이트는 물론 HTTPS입니다.
위에서 언급한 변형들은 필요하지 않지만, 도메인 이름을 수정한 samples/mail-receiver.yml에 포함된 TLS 설정은 TLS 암호화를 지원하기 위해 여전히 필요합니다.
HTTPS에 Let’s Encrypt 템플릿을 사용 중이라면, 샘플의 해당 줄들을 주석 해제하고 도메인 이름만 교체하면 됩니다.
음, 최근에 갑자기 작동이 멈추고 이 인증서 관련 오류가 뜨는 이유가 뭘까요?
<19>Oct 6 19:18:27 receive-mail[94]: Failed to POST the e-mail to https://www..../admin/email/handle_mail:
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B:
certificate verify failed (OpenSSL::SSL::SSLError)
<19>Oct 6 19:18:27 receive-mail[94]: /usr/local/lib/ruby/2.3.0/net/protocol.rb:44:in `connect_nonblock'
/usr/local/lib/ruby/2.3.0/net/protocol.rb:44:in `ssl_socket_connect'
/usr/local/lib/ruby/2.3.0/net/http.rb:928:in `connect'
/usr/local/lib/ruby/2.3.0/net/http.rb:863:in `do_start'
/usr/local/lib/ruby/2.3.0/net/http.rb:852:in `start'
/usr/local/lib/ruby/2.3.0/net/http.rb:1384:in `request'
/usr/local/lib/ruby/site_ruby/mail_receiver/discourse_mail_receiver.rb:42:in `process'
오류 메시지는 이메일을 수신했지만 Discourse 인스턴스에 연결을 시도하면서 인증서 확인에 실패했음을 나타냅니다. 이는 다른 서비스가 메일 수신기에 연결하는 문제와는 무관함을 시사하지만, TLS가 정상적으로 작동하고 있다는 보장은 아닙니다. (이메일은 TLS 없이 전달되었을 수도 있습니다)
오류 메시지만으로 정확히 어떤 문제가 발생하고 있는지 판단하기는 어렵지만, 브라우저에서 https://www.... (오류 메시지에 표시된 도메인과 정확히 일치하는 주소)로 접속할 때 정상적으로 연결되는지 확인해 보시기 바랍니다.
정상적으로 연결된다면, 메일 수신기가 어떤 이유로 해당 인증서를 신뢰하지 않는 것일 가능성이 높습니다.
연결이 되지 않는다면, app.yml의 SSL 설정에 문제가 있을 수 있습니다 (예: example.com에만 인증서를 발급받아 www.example.com에는 적용되지 않는 경우) 또는 mail-receiver.yml의 Discourse URL 설정에 오류가 있을 수 있습니다 (예: example.com이어야 하는데 www.example.com으로 설정된 경우).
호스트 이름을 포함해 주시면 더 도움을 드릴 수 있습니다.
웹사이트의 도메인 이름을 변경하셨나요? 사이트에 인증서가 올바르게 설정되어 있나요?
최근 90일 동안 웹사이트에서 다른 변경 사항이 있었나요?
https://www.programmersforum.rocks
도메인이나 다른 부분에서 변경 사항은 없으며, 사이트는 정상적으로 작동합니다.
사실 로그를 보면 지난 11월에 시작되었음을 알 수 있지만, 여전히 변경 사항은 없었습니다.
좋아요, 그 인증서는 완벽하게 정상입니다.
포럼에 연결되는 메일 서버에 대해 더 자세히 알려 주세요. 일반적인 메일 수신용 Docker 컨테이너인가요?
저는 //email/testTo: 로 확인해 보았습니다. 직접 확인해 보고 싶으시다면 이 방법을 사용하실 수 있습니다.
Richard가 제안한 대로, 문제는 Discourse가 아니라 이메일 수신기에 있는 것 같습니다.
지난 11월에 시작되었다면, 거의 확실하게 Let’s Encrypt 루트 인증서 만료 문제입니다. 새 이미지를 가져와서 다시 빌드하기만 하면 됩니다.
아니요, 저는 문제가 이메일 수신기와 Discourse 사이에 있다고 생각합니다.
Discourse는 대외 공개 서비스이므로 Discourse의 인증서를 확인해 볼 수 있었는데, 인증서는 정상적이었습니다.
따라서 제 추측으로는 문제가 이메일 수신기 쪽에 있는 것입니다.
좋은 가능성처럼 보입니다!
동의합니다. 하지만 Simon의 설명은 이메일 수신기에 연결되는 어떤 것과의 문제 원인을 설명해 줄 수 있을지도 모릅니다.
수정: 문제가 지난 11월에 시작되었지만 최근에야 발견되었을 가능성이 있다면.
…
알렉스는 자신의 답변 중 하나에서 시작 시점을 다음과 같이 바로잡았습니다:
아, 네, 업데이트로 SSL 오류가 해결됐어요.
근데 그 다음엔 404 응답이 뜨더라고요. 새 API 키를 만들었더니 해결됐어요.