반응형

NGINX 서버에 Let’s Ecrypt 설치

 

#certbot 설치
sudo snap install --classic certbot

#certbot 명령어 활성화
sudo ln -s /snap/bin/certbot /usr/bin/certbot

#certbot을 이용하여 해당 도메인에 대한 인증서 발급
sudo certbot --nginx -d tftinfo.mooo.com -d www.example.com

certbot을 이용한 인증서 발급과정

만약, 리눅스에 snap이 설치되어있지않다면 아래의 명령어를 순서대로 입력하여 snap 설치

#[CentOS 8 기준]
#EPEL 저장소를 CentOS 8/9 Stream 시스템에 추가
sudo dnf install epel-release
sudo dnf upgrade

#snapd 패키지를 설치
sudo yum install snapd
#기본 스냅 통신 소켓을 관리하는 시스템 장치를 활성화
sudo systemctl enable --now snapd.socket
sudo systemctl start snapd.service
#클래식 스냅 지원을 활성화
sudo ln -s /var/lib/snapd/snap /snap

 

HTTPS 인증서 자동갱신

  • certbot으로 생성한 https 인증서는 유효기간이 3개월 정도이다. 따라서 인증서의 유효기간에 따라 갱신해주는 작업이 필요하다. 
    #certbot으로 발급한 https 인증서의 유효기간 확인하기
    sudo certbot certificates
    
    #https 인증서 갱신 테스트(실제로 https 인증서를 갱신하지 않는다. https 인증서 갱신상황에서 오류가 발생하지 않고 정상적으로 동작하는지 확인 할 때 사용한다.)
    sudo certbot renew --dry-run
    
    #https 인증서 갱신(만료일자가 다가온 인증서를 점검하고 갱신한다.)
    sudo certbot renew

 

  • 인증서가 만료되면 https 프로토콜을 사용하지 못하게 되므로 자동으로 https 인증서가 갱신되도록 처리가 필요하다. crontab을 이용하여 특정 시간마다 https 인증서 확인을 하여 갱신 처리를 해주도록 한다. 
    #crontab 작업 목록
    sudo crontab -l
    
    #crontab 작업 편집
    sudo crontab -e
    
    #crontab 실행 로그
    view /var/log/syslog
  • crontab 규칙

  • https 인증서 갱신을 위한 crontab 설정

 

#crontab 작업 편집
sudo crontab -e

#매 12시에 https 인증서 갱신을 위한 명령어 입력
0 12 * * * /usr/bin/certbot renew --quiet

 

 

 

[참고]

 

반응형

+ Recent posts