메뉴 닫기

Ubuntu 22.04 certbot(letsencrypt) SSL 인증서 발급 방법(작성중)

SSL 서비스를 사용하기 위해 SSL 인증서를 발급 받아야 한다.

일반적으로는 비용을 내고 써야 하지만 letsencrypt는 무료라서 비용 걱정 없이 사용할 수 있다. 다만 발급 받는 방법이 조금 까다롭거나 발급 받고 난 이후에 간혹 문제가 발생할 수 있다.

필자도 그동안 무분별하게 발급 받아 놓은 인증서들과 갱신이 안되는 이슈가 있어서 certbot을 완전 삭제하고 다시 설치했다.

Ubuntu 22.04 기준 설치 방법은 아래와 같다.

sudo apt-get install certbot

letsencrypt에서 발급 대상 도메인이 실제 소유하고 있는것이 맞는지 확인하기 위한 방법이 두 가지가 있다.

1. webroot 방식
– certbot에서 webroot 디렉터리에 .well-known/acme-challenge 디렉터리를 생성하고 특정 문자열(랜덤인 것 같다)을 가진 파일을 생성하고 letsencrypt측에서 해당 URL로 접근하여 소유 여부를 판단한다.

외부에서 접근해야 하기 때문에 혹여나 방화벽에 차단 등록되어 있는지 NAT 설정은 되어 있지 않은 지를 확인해야 한다.
(80, 443은 허용해야 한다)

webroot 방식으로 인증서를 발급 받는 방법은 아래와 같다.

certbot certonly --webroot -w /path/to/webroot/ -d lasthackers.com

2. standalone 방식
– certbot에서 80포트로 임시 웹 서버를 동작 시켜 인증서를 발급 받는 방식이다. 따라서 apache나 nginx에서 80포트를 사용 중 이라면 서비스를 중지한 다음에 발급을 받아야 한다.

에러 발생 시 처리 방법

  • Error getting validation data 에러 발생
    – 위의 에러는 mod_rewrite 모듈을 사용하여 HTTP -> HTTPS로 rewrite 하는 설정이 되어있는 경우 발생할 수 있다.
    apache 설정 파일에서 해당 모듈 설정 부분을 주석 처리하고 apache 재 기동 한 다음에 발급을 받아보자.
0 0 votes
Article Rating
구독
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x