sitelink1 | https://lynlab.co.kr/blog/72 |
---|---|
sitelink2 | https://certbot.eff.org/instructions?ws=other&os=windows |
sitelink3 | |
sitelink4 | |
extra_vars5 | |
extra_vars6 |
Certbot이란
Certbot은 Let's Encrypt의 인증서를 발급 받는 방법중 하나
단점1, certbot은 python 및 몇몇 네이티브 라이브러리에 의존성이 있다
단점2, OS마다의 패키지 안정성 문제로 동작 오류가 발생하는 경우가 많다
Certbot의 도메인 소유 인증 절차
1. 웹 서버를 통한 도메인 인증
서버를 운영중인 환경에서 Certbot이 직접 웹 서버를 띄운 뒤, URL을 통해 해당 웹 서버로 접속을 시도하여 도메인의 소유를 검증하는 방법이다
예를 들어 yourdomain.com이라는 도메인의 인증서를 발급받고자 한다면,
certbot은 yourdomain.com/.well-known/acme-challenge URL을 통해 서버에 접속하여 실제 발급을 시도 중인 서버가 맞는지 확인하게 된다
- 장점
대부분의 경우에 쉽고 간단 (명령어 한 줄로 인증서 발급부터 nginx, haproxy 등의 리버스 프록시 인증서 셋팅까지 자동)
- 단점
운영중인 환경에서는 인증서를 발급 받기 위해 서비스를 잠시 내려야한다 (80/443 포트로 직접 웹 서버가 떠야하기 때문)
방화벽이 엄격하게 설정된 경우에는 발급 과정이 번거롭다
Certbot은 접속할 URL 경로를 수동으로 지정할 수 없기 때문에, 위에서 언급한 .well-known/acme-challenge 경로를 방화벽에서 오픈해야 한다
2. DNS를 통한 도메인 인증
인증 토큰을 TXT 레코드로 등록하여 도메인의 소유권을 인증한다 (대부분의 서비스에서 많이 사용하는 방식)
- 장점
운영중인 환경에서도 쉽게 발급이 가능 (서버 환경 설정이 필요없음)
- 단점
DNS 레코드를 등록해주는 절차가 번거로울 수 있다
개인 단위에서는 문제가 없겠지만, 단체나 회사에서 관리하는 도메인의 경우 레코드를 건드리는게 불가능할 수도 있다
DNS 전파 시간을 기다려야한다
Certbot 도움말 : certbot --help