본문 바로가기

리눅스

Let's Encrypt에서 Certbot을 사용하여 SSL 인증서를 Standalone 모드로 발급받는 방법

반응형

Let's Encrypt에서 Certbot을 사용하여 SSL 인증서를 Standalone 모드로 발급받는 방법

Let's Encrypt SSL 인증서를 standalone 모드로 발급하는 방법은 웹 서버가 없거나, 웹 서버를 잠시 멈출 수 없는 경우에 사용됩니다. Standalone 모드는 인증서를 발급받기 위해 임시로 웹 서버를 실행하고, Let's Encrypt 서버가 해당 서버에 접근하여 인증서를 발급받습니다. 이 방식은 웹 서버가 실행되고 있는 포트인 80 포트와 443 포트를 사용하기 때문에, 다른 프로세스에서 해당 포트를 사용하고 있을 경우에는 인증서 발급에 실패할 수 있습니다.

1. certbot 패키지 설치

sudo apt-get update
sudo apt-get install certbot

2. standalone 모드로 인증서 발급

sudo certbot certonly --standalone --email admin@example.com --agree-tos -d example.com

위 명령어에서 --standalone 옵션은 standalone 모드로 인증서를 발급한다는 것을 의미합니다. --email 옵션은 이메일 주소를 지정하는 것이며, --agree-tos 옵션은 Let's Encrypt 이용약관에 동의한다는 것을 의미합니다. -d 옵션은 인증서에 포함될 도메인 이름을 지정하는 것입니다. 여러 개의 도메인 이름을 포함시키려면 -d 옵션을 여러 번 사용하면 됩니다.

3. 도메인 소유권 검증

Certbot은 임시적으로 80포트를 사용하여 도메인 소유권을 검증합니다. 따라서 방화벽이나 네트워크 설정에 주의하여야 합니다.

728x90

4. 발급된 인증서 확인

sudo ls /etc/letsencrypt/live/example.com/

위 명령어를 실행하면, 인증서 파일들이 저장된 디렉토리에 접근할 수 있습니다. 이제 해당 디렉토리에 있는 인증서를 웹 서버에서 사용하면 됩니다.

 

Standalone 모드는 웹 서버가 없는 경우나, 잠시 동안 웹 서버를 중지할 수 있는 경우에 유용합니다. 하지만, 웹 서버가 실행 중인 경우에는 standalone 모드를 사용하기 보다는 webroot 모드를 사용하는 것이 좋습니다. webroot 모드는 웹 서버가 실행 중인 상태에서도 인증서를 발급받을 수 있기 때문입니다.

5. 인증서 갱신

Let's Encrypt SSL 인증서는 발급일로부터 90일 뒤에 만료됩니다. 따라서, 인증서 갱신을 자동으로 처리하는 것이 좋습니다. certbot은 갱신을 자동으로 처리해주는 기능을 제공합니다.

sudo certbot renew

위 명령어를 실행하면, 인증서의 만료일이 다가올 때마다 자동으로 갱신을 시도합니다. 이 명령어는 crontab에 등록하여 주기적으로 실행하면 됩니다.

sudo crontab -e

위 명령어를 실행하면 crontab 파일을 열 수 있습니다. 이제 아래와 같이 설정해주면, 매주 월요일 새벽 3시에 인증서 갱신이 자동으로 처리됩니다.

0 3 * * 1 /usr/bin/certbot renew >/dev/null 2>&1

Let's Encrypt SSL 인증서를 standalone 모드로 발급하는 방법은 위와 같습니다. 하지만, standalone 모드는 웹 서버를 잠시 중지해야 하기 때문에, 웹 서버가 실행 중인 경우에는 webroot 모드를 사용하는 것이 좋습니다. webroot 모드는 웹 서버가 실행 중인 상태에서도 인증서를 발급받을 수 있기 때문입니다.

 

728x90
반응형