PostIT

[HTTPS] letsencrypt 인증서 갱신하기 - nginx 본문

Webserver/NginX

[HTTPS] letsencrypt 인증서 갱신하기 - nginx

shun10114 2017. 6. 18. 22:37

# letsencrypt 인증서 유효기간이 만료되기전에 갱신하기


https://www.youtube.com/user/heogwangnam/search?query=letsencrypt


이 강의를 보고, Https를 적용한게 엊그제 같은데, 벌써 90일이 지났나봅니다. 갱신해야한다고 메일이 왔습니다. 그래서 갱신을 알아보니, 예전에 다시 갱신하고 nginx 설정을 바꿔줘야했는데, 더 편리하게 바뀐것 같습니다.


letsencrypt를 적용한 사람이면 알다시피 letsencrypt 무료 인증서의 유효기간은 90일입니다. 그래서 인증서의 유효기간이 끝나버려 접속할 수 없는 상황이 오기 전에 인증서를 갱신해줘야 합니다.






Cleaning up challenges

Attempting to renew cert from /etc/letsencrypt/renewal/hi-cord.com.conf produced an unexpected error: Problem binding to port 443: Could not bind to IPv4 or IPv6.. Skipping.


인증서를 갱신하는 방법은 매우 쉽습니다.

우선 현재 유효기간이 얼마 남지 않은 인스턴스에 접속하여 letsencrypt폴더에 접근합니다.


이후 letsencrypt의 업데이트 여부를 확인하기 위해 다음 명령어를 실행합니다.
./letsencrypt-auto --help

업데이트 체크가 끝났을 경우 기존에 발급되었던 인증서를 새로 받기 위해 renew명령어를 이용합니다.
./letsencrypt-auto renew


로그를 읽어보니 nginx가 실행되고 있는데다가 port 80번 listening상태이기 때문에 발급을 진행할 수 없다는 에러로 보입니다.

해결을 위해 구동중인 서버와 nginx를 잠시 꺼둡니다.


<centos7 기준>

systemctl stop nginx


로그를 보면 fullchain.pem이라는 파일이 새롭게 갱신되었다는 걸 알 수 있습니다.


이것을 보면 letsencrypt 굉장히 친절하게 renew명령어를 구현해 놓은 것을 알 수 있습니다. 

기존에 있던 fullchain.pem 파일을 새로운 인증서로 덮어씌움으로써 기존에 설정해두었던 nginx.conf에 굳이 수정하지 않고도 적용가능하게 만들어 주었습니다.









Comments