Let’s Encrypt + nginx 갱신오류 및 해결방법 정리

시스템 | 2021.03.07 21:02

나는 무료 SSL(Let’s Encrypt)을 사용하는데 이것의 단점은 매 3개월마다 갱신을 해줘야 한다는 것이고 장점은 무료지만 기능상으로는 고가의 SSL 인증서와 다를바 없다(인증서의 비용은 기능상의 차이가 아니고 보험의 차이다)
Let’s Encrypt 에 대한 내용은 https://letsencrypt.org/ 에서 확인하고 설치까지 해주면 된다.
오늘보니 한글페이지도 제공되므로 별 어렵지않게 적용할 수 있을것이다.

무료이기 때문에 3개월마다 인증서 갱신해야 하는 수고를 필요로 하지만 무료니까 충분히 감안할 수있겠다.
물론, cron에 등록하면 그 조차도 자동화할 수 있지만 그렇게까지 할 필요없이 한 열흘정도 남으면(메일로 온다) 내가 직접 갱신해 주고있다.

그런데 이번에 갱신하는데 오류가 발생했다.

Attempting to renew cert (innu.pe.kr) from /etc/letsencrypt/renewal/innu.pe.kr.conf produced an unexpected error: 'ascii' codec can't encode characters in position 2674-2678: ordinal not in range(128). Skipping. All renewal attempts failed. The following certs could not be renewed:   /etc/letsencrypt/live/innu.pe.kr/fullchain.pem (failure)


검색해보니 nginx.conf에 한글이 있으면 발생하는 오류였다.
https://www.lesstif.com/system-admin/let-s-encrypt-ssl-tls-54951944.html

곰곰히 생각해보니 두어달전 한글 url 처리를 위해 nginx.conf 를 수정한 적이 있었다.

location /view/고전경제학-경제개발-박정희 {
    return 301 https://innu.pe.kr/view/Classical-economics-PresidentParkAge;
}

location /view/언론-재산세-시뮬레이션 {
    return 301 https://innu.pe.kr/view/Tax-Bomb-Press;
}

위 구분을 삭제하고(주석처리 안되고 반드시 삭제) 다시 실행하니 정상적으로 갱신되었다.

 


"시스템" 카테고리의 다른 글

댓글쓰기

"Let’s Encrypt + nginx 갱신오류 및 해결방법 정리" 의 댓글 (0)