6월 4일부로 Let’s Encrypt는 갱신 실패에 대한 이메일 알림을 보내는 것을 중단했습니다. 이는 해당 ENV 변수를 설정해야 했던 유일한 이유였습니다.
discourse-setup-ruby를 실행해 보았지만 LETSENCRYPT_ACCOUNT_EMAIL에 대한 이메일 주소를 받지 못했습니다. 이제 이메일 주소가 없으면 인증서를 요청하지 않도록 하는 정교한 로직 때문에 Discourse가 작동하지 않습니다. 해당 변수에 이메일 주소를 포함시켜도 어떤 효과가 있었던 것이 거의 1년 가까이 되었습니다.
갱신 이메일은 Let’s Encrypt가 한때 제공했던 서비스(위 링크 참조)를 위해 도입된 것으로, 인증서가 곧 만료될 경우 사용자에게 알려주는 용도였습니다. 6개월 전에 이 기능이 추가될 때 LETSENCRYPT_ACCOUNT_EMAIL에 대한 테스트가 포함된 데는 실제로 아무런 이유가 없었습니다.
원래(약 8년 전쯤) Let’s Encrypt는 이메일 주소를 요구했기 때문에 해당 테스트가 존재하게 된 것으로 보입니다. 오랫동안 이메일 주소를 제공하지 않으면 인증서를 발급해 주지 않았습니다.
cron 작업은 실행되고 있었음에도 nginx 설정과 관련된 문제로 인해 갱신이 깨지는 문제가 있었습니다(적어도 제 생각에는 그런 것 같았습니다. 당시 업데이트를 자세히 살펴보지 않아서 그때 이 문제를 제기하지 못했습니다).