Certbot을 이용한 인증서 갱신하기

Certbot을 이용해 인증서를 갱신하는 방법에 대해 알아 보겠습니다.

📚 0
📅 2023-12-16

이번 튜토리얼에서는 Certbot을 이용해 인증서를 갱신하는 방법에 대해 알아봅니다. 서버를  https 로 주소를 변화하고 사용 할 때  Let's Encrypt로 인증서를 발급받고 사용을 하고 있습니다. 

Let's Encrypt로 발급받은 인증서의 만료기간이 거의 다 되었다는 메일이 왔을때. 인증서 업데이트를 해줘야 합니다. 

 

  갱신하는 방법은 매우 간단합니다. 먼저 다음 명령어를 통해 인증서 갱신을 시도해 봅니다.

 

 

sudo certbot renew --dry-run

 

 

아무 에러가 없이 다음과 같이 성공했다면 --dry-run 옵션을 빼고 인증서 갱신을 하면 됩니다. 

 

codingcampus@codingcampus:~/coding_campus_flask_app$ sudo certbot renew --dry-run
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/xxxxxxxxxxxxx.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Simulating renewal of an existing certificate for xxxxxxxxxxxxx and 5 more domains

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all simulated renewals succeeded:
 /etc/letsencrypt/live/xxxxxxxxxxxxx/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

 

--dry-run 옵션을 주고 실행하면 실제로 갱신을 진행하는 것이 아닌 갱신을 한번 시도해 에러가 발생할지 아닐지를 미리 알아볼 수 있습니다.

 

이제 정상적으로 성공했습니다. 테스트가 성공했으니 --dry-run 옵션을 빼고 진짜 갱신을 수행해 줍니다

 

sudo certbot renew

 

Congratulations, all simulated renewals succeeded: The following certs have been renewed:

 /etc/letsencrypt/live/xxxxxxxxxxxxx/fullchain.pem (success)
 /etc/letsencrypt/live/xxxxxxxxxxxxx/fullchain.pem (success)
 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

 

이제 인증서 갱신을 끝마쳤으니 웹서버를 재실행하기 전 인증서들이 제대로 갱신되었나 확인해 보도록 하겠습니다. 다음 명령어를 수행해 인증서 정보를 확인합니다

 

sudo certbot certificates

 

모든 인증서가 정상적으로 갱신이 된 것을 확인할 수 있습니다.

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
 Certificate Name: xxxxxxxxxxxxx
   Serial Number: 462b9371a499d4a4d5a22c9f8ad0c99c87c
   Key Type: RSA
   Domains: xxxxxxxxxxxxx
   Expiry Date: 2024-02-22 21:08:10+00:00 (VALID: 68 days)
   Certificate Path: /etc/letsencrypt/live/xxxxxxxxxxxxx/fullchain.pem
   Private Key Path: /etc/letsencrypt/live/xxxxxxxxxxxxx/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

이 글과 함께 연습해보세요

읽은 내용을 Play Lab에서 바로 실행해볼 수 있어요.

Coding Quest · 알고리즘

친구 네트워크 학생회장 선정

N명의 학생과 M개의 친구 관계(양방향, 서로 다른 두 학생을 1의 비용으로 직접 연결)가 주어집니다. 친구 관계는 친구를 통해 간접적으로도 이어질 수 있습니다(예: 1-2, 2-3이 친구면 1과 3은 2를 거쳐 거리 2로 연결). 네트워크는 항상 연결되어 있다고 가정합니다. 모든 학생 쌍 사이의 최단 거리를 구한 뒤, 각 학생에 대해 '자신을 제외한 모든 학생까지의 최단 거리 합'을 계산하

바로 연습하기
Coding Quest · 알고리즘

친구 네트워크 학생회장 선정

N명의 학생과 M개의 친구 관계(양방향, 서로 다른 두 학생을 1의 비용으로 직접 연결)가 주어집니다. 친구 관계는 친구를 통해 간접적으로도 이어질 수 있습니다(예: 1-2, 2-3이 친구면 1과 3은 2를 거쳐 거리 2로 연결). 네트워크는 항상 연결되어 있다고 가정합니다. 모든 학생 쌍 사이의 최단 거리를 구한 뒤, 각 학생에 대해 '자신을 제외한 모든 학생까지의 최단 거리 합'을 계산하

바로 연습하기
Coding Quest · 빈칸

곶감 건조대 회전 점검

N×N 곶감 건조대(N은 항상 홀수)가 있습니다. 건조대 각 칸에는 곶감의 무게가 적혀 있습니다. 건조대에서 실제로 곶감을 걸 수 있는 자리는 '세로 모래시계' 모양입니다 — 맨 윗줄과 맨 아랫줄은 폭이 전체(N칸)이고, 가운데 줄로 갈수록 폭이 점점 좁아져 정중앙 줄에서는 정확히 1칸만 남습니다(위아래로 대칭인 모래시계 모양). 건조대를 시계방향으로 90도 돌리면, 원래는 곶감이 없던 자리

바로 연습하기
Coding Quest · 알고리즘

곶감 건조대 회전 점검 (전체 구현)

N×N 곶감 건조대(N은 항상 홀수)가 있습니다. 건조대 각 칸에는 곶감의 무게가 적혀 있습니다. 건조대에서 실제로 곶감을 걸 수 있는 자리는 '세로 모래시계' 모양입니다 — 맨 윗줄과 맨 아랫줄은 폭이 전체(N칸)이고, 가운데 줄로 갈수록 폭이 점점 좁아져 정중앙 줄에서는 정확히 1칸만 남습니다(위아래로 대칭인 모래시계 모양). 건조대를 시계방향으로 90도 돌리면, 원래는 곶감이 없던 자리

바로 연습하기
Coding Quest · 알고리즘

곶감 건조대 회전 점검 (전체 구현)

N×N 곶감 건조대(N은 항상 홀수)가 있습니다. 건조대 각 칸에는 곶감의 무게가 적혀 있습니다. 건조대에서 실제로 곶감을 걸 수 있는 자리는 '세로 모래시계' 모양입니다 — 맨 윗줄과 맨 아랫줄은 폭이 전체(N칸)이고, 가운데 줄로 갈수록 폭이 점점 좁아져 정중앙 줄에서는 정확히 1칸만 남습니다(위아래로 대칭인 모래시계 모양). 건조대를 시계방향으로 90도 돌리면, 원래는 곶감이 없던 자리

바로 연습하기