반응형
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
[참고]
- https://servermon.kr/m/board.html?code=servermon_board2&page=1&type=v&board_cate=&num1=999929&num2=00000&number=66&lock=N (리눅스 OS 버전정보 확인)
- https://snapcraft.io/docs/installing-snap-on-centos (CentOS snap 설치)
- https://www.programmerhat.com/snap-command-not-found/#CentOS (CentOS snap 설치)
반응형