목차
Let's Encrypt에서 와일드카드 인증서를 발급하기 시작한지 꽤 오랜 시간이 흘렀다.
내 서버에는 이미 적용하여 사용중인데 이제야 포스팅을 해본다.
일단 나는 우분투에서 인증서를 발급받았으므로 우분투 기준으로 설명한다.
윈도우에서도 가능하다고 하는데 사용해보진 못했고 필요한 사람은 아래 링크를 확인해 보기 바란다.
https://github.com/PKISharp/win-acme/releases
참고) 아래 진행방법은 모두 수동으로 진행하는 방법이며 클라우드플레어 등의 dns에서는 api를 통해 더 간편하게 진행이 가능하다고 한다.
1. certbot 설치 (적당한 경로 or 사용자 home 디렉토리에서 시작한다.)
git clone https://github.com/certbot/certbot
cd certbot
sudo ./certbot-auto --os-packages-only
python3 ./tools/venv.py
2. certbot 실행 환경 진입
source venv/bin/activate
위 명령을 실행하면 프롬프트 앞에 (venv)가 붙으며 certbot 실행환경으로 진입한다.
3. 인증서 발급 요청
sudo ./venv/bin/certbot -d *.domain.com --email user@mail.com --text --agree-tos --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns --expand --renew-by-default --manual-public-ip-logging-ok certonly
*.domain.com과 user@mail.com 을 본인 환경에 맞게 기입한다.
4. dns txt 레코드 수정
위 과정까지 끝나면 아래 그림과 같은 화면과 함께 화면이 멈춘다.
화면에서 표시된 _acme-challenge.domain.com 레코드를 dns 서버에서 TXT 레코드로 등록한다.
값은 노란색으로 표시한 부분을 복사하여 붙여넣는다.
dns에 등록하게 되면 전파시간이 있기 때문에 잠시 기다렸다가 엔터키를 누른다.
5. 인증서 발급 완료
위 과정이 끝나면 발급과정이 완료된다.
발급된 인증서는 /etc/letsencrypt/live/domain.com/ 경로에서 확인할 수 있다.
아래 명령으로 현재 사용자에게 인증서가 있는 디렉토리의 권한을 부여해준다.
sudo chown [사용자명] /etc/letsencrypt/live
생성된 파일은 총 5개이며 이중 인증서 파일은 pem 확장자로 된 4개 파일이다.
6. 인증서 적용
cert.pem - 인증서
chain.pem - 인증서 발급자
fullchain.pem - cert.pem과 chain.pem을 하나로 합쳐놓은 파일
privkey.pem - 암호를 해독하는 개인키
시놀로지 DSM의 경우 privkey.pem 파일과 cert.pem 파일만 등록하면 사용 가능하다.
7. (기간 종료 전) 인증서 갱신
3번 과정에서 --email 옵션을 사용한 경우 인증서의 만료기간(90일)에 가까워지면 메일이 온다.
이때 갱신 작업을 해주고 갱신된 인증서를 사용해야 계속 사용할 수 있다.
갱신하지 않고 그대로 두면 인증서가 그대로 만료되어 사용할 수 없으며 갱신할 수 없게 된다.
즉, 인증서 발급을 처음부터 다시 진행해야 한다. (2번 과정부터 진행하면 된다.)
갱신작업은 아래 명령을 차례로 실행시키면 된다.
cd certbot
source venv/bin/activate
sudo ./venv/bin/certbot renew
'서버' 카테고리의 다른 글
nginx-proxy-manager 설치 및 역방향 프록시 설정 (2) | 2022.02.08 |
---|---|
portainer 설치하기 (0) | 2021.12.24 |
시놀로지 DSM 메일스테이션 POP3 오류 해결 방법 (0) | 2018.10.23 |
다운로드 스테이션 지난파일 일괄 다운받기 (0) | 2018.06.29 |
TV 프로 만능 정규식 (0) | 2018.06.27 |
댓글