글

Certbot Webroot 방식 전환 이유

Nginx 플러그인이 설정 파일을 수정하는 문제를 피하기 위해 갱신 방식을 Webroot 방식으로 전환한다.

작성일 · 읽는 시간 1분 · Certbot 2 기준

Nginx 플러그인의 문제

certbot --nginx는 인증서를 발급받으면서 nginx 설정 파일도 수정한다. 설정을 저장소에 사본으로 관리하는 경우, 그 시점부터 실제 파일과 사본이 불일치한다.

Webroot 방식

webroot 방식은 지정한 폴더에 확인용 파일만 배치하고 설정은 수정하지 않는다. nginx에는 그 폴더의 파일을 제공하는 경로 하나만 있으면 충분하다.

Nginx 플러그인과 Webroot 방식의 설정 파일 수정 여부 비교

nginx
location /.well-known/acme-challenge/ {
    root /var/www/html;
}
bash
# 먼저 시험해 본다 (발급 횟수를 쓰지 않는다)
sudo certbot certonly --webroot -w /var/www/html -d example.com --dry-run

# 실제 발급
sudo certbot certonly --webroot -w /var/www/html -d example.com

주의 사항

-w에는 앱 폴더가 아니라 확인용 파일만 두는 폴더를 지정한다. 앱 폴더를 지정하면 그 내부의 파일이 외부에 노출될 수 있다.