SSL/TLS · 2 min read · Nov 17, 2025
Debian 9에서 Let's Encrypt 설치 및 Nginx를 SSL/TLS로 보호하기
이 튜토리얼에서는 Let’s Encrypt 인증 기관에서 무료로 발급한 TLS 인증서를 사용하여 Debian 9에서 Nginx 웹 서버를 설치하고 보호하는 방법을 보여줍니다. 또한, 인증서가 만료되기 전에 cron 작업을 사용하여 Let’s Encrypt TLS 인증서의 자동 갱신을 구성합니다.
TLS는 전송 계층 보안(Transport Layer Security)으로도 알려져 있으며, SSL 인증서를 사용하여 서버와 클라이언트 간 또는 Nginx 서버와 브라우저 간에 흐르는 네트워크 트래픽을 암호화하는 네트워크 프로토콜입니다. 이 두 엔티티 간에 교환되는 모든 데이터는 안전하게 보호되며, 중간자 공격(man in the middle attack)이나 패킷 스니핑(packet sniffing)과 같은 기술을 사용하여 가로채더라도 연결을 해독할 수 없습니다. certbot 패키지 소프트웨어는 Debian에서 무료 Let’s Encrypt 인증서를 생성하고 다운로드하는 과정에서 사용할 수 있는 Let’s Encrypt CA에서 제공하는 공식 클라이언트 유틸리티입니다.
요구 사항
- Debian 9에 LEMP 스택 설치.
- 적절한 DNS 레코드(A 레코드 또는 서브도메인에 대한 CNAME 레코드)가 있는 공개 등록 도메인 이름.
- 서버의 콘솔에 직접 접근하거나 원격 SSH로 서버에 접근할 수 있어야 합니다.
- 루트 권한이 있는 사용자 계정 또는 루트 계정에 직접 접근할 수 있어야 합니다.
Certbot 클라이언트 유틸리티 설치
Debian 공식 저장소에서 Debian 9에 Let’s Encrypt certbot 클라이언트 유틸리티를 설치하려면 터미널을 열고 루트 권한으로 다음 명령을 입력합니다. 아래 스크린샷에 설명된 대로 진행합니다.
apt-get install certbot
Debian apt 유틸리티는 몇 가지 사전 검사를 수행한 후 certbot 패키지와 모든 필수 종속성을 설치하는 데 동의하는지 물어봅니다. 소프트웨어 설치 프로세스를 수락하려면 서버 콘솔 프롬프트에서 yes(y)로 응답합니다.
Let’s Encrypt 인증서 받기
도메인에 대한 Let’s Encrypt 인증서를 생성하고 다운로드하려면 먼저 Nginx 웹 서버가 실행 중인지 확인하고 포트 80이 인터넷에서 접근 가능해야 합니다. Nginx가 실행 중인지 확인하려면 루트 권한으로 다음 명령을 실행합니다.
sudo systemctl status nginx서버가 이미 실행 중이지 않은 경우 아래 명령으로 Nginx 데몬을 시작합니다.
sudo systemctl start nginxDebian에 UFW 방화벽과 같은 일반 방화벽이 설치되어 있고 포트 80과 443에서 모든 수신 연결을 차단하는 경우, 아래 명령을 입력하여 시스템에서 HTTP 및 HTTPS 포트를 열어야 합니다.
sudo ufw allow 80/tcpsudo ufw allow 443/tcp도메인에 대한 인증서를 얻으려면 콘솔에서 다음 매개변수와 플래그를 사용하여 certbot 명령을 실행합니다. 루트 권한으로 명령을 실행하고 –d 플래그를 사용하여 인증서를 얻고자 하는 도메인 이름과 모든 다른 서브도메인을 제공해야 합니다. 또한, certbot이 Nginx 구성 파일에 간섭하지 않도록 하기 위해 –standalone 옵션을 제공해야 합니다. 이 옵션을 사용할 때는 인증서를 발급하는 동안 Nginx 서버를 중지해야 합니다.
certbot 명령 구문:
sudo certbot certonly --standalone –d yourdomain.com –d www.yourdomain.com처음 certbot 명령을 실행하고 인증서를 얻으면 이메일 주소를 추가하고 Let’s Encrypt 서비스 약관에 동의하라는 메시지가 표시됩니다. 서비스 약관에 동의하려면 ‘a‘를 입력하고, Let’s Encrypt 파트너와 이메일 주소를 공유하지 않으려면 ‘no‘를 입력합니다. 마지막으로 도메인에 대한 인증서를 받은 후, 인증서 시스템 경로와 만료 날짜를 찾기 위해 바닥글 주석을 읽습니다.
Let’s Encrypt SSL 인증서를 얻는 대체 방법
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.