nginx 대신 caddy 쓴자의 최후
caddy가 let’s encrypt 인증서를 자동갱신해 주고 문법도 간단해서 오라클 서버에서 이거 쓰거든요
근데 이제까지 인증서 자동갱신이 안되서 2번이나 서비스가 멈춰서 수동으로 caddy를 restart하고(restart하면 인증서가 갱신됩니다) 서버의 서비스들도 restart 해서 위기를 넘겼단 말입니다
원인을 분석해보니 1GB 램 환경에서 발생하는 일시적인 리소스 고갈 및 caddy 프로세서 비정상 작동일 가능성이 높은데
다시 말해서 go로 작성된 caddy는 장기간 실행되면 일시적인 데드락 또는 GC 문제로 내부 타이머 스케줄러가 멈추는 경우가 간혹 보고 된다고 하네요
그냥 nginx + 스케쥴링 certbot renew (by crontab or by was) 하세요
c로 만든 nginx가 go로 만든 caddy 보다 훨씬 빠르고 가볍고 대용량처리 가능하고 무엇보다 안정적입니다