ebson

[fform 정기 재배포] 3. ubuntu에서 letsencrypt로부터 ssl 키 발급받기 본문

NODEJS WEB PROJECT/DEPLOY

[fform 정기 재배포] 3. ubuntu에서 letsencrypt로부터 ssl 키 발급받기

ebson 2022. 8. 15. 15:30

ubuntu20.04에서 letsencrypt로부터 ssl 발급받기

 

 

1. nginx를 대신하여 80번 포트에서 실행중인 프로세스를 종료함

$sudo lsof -i tcp:80

$kill -9 “PID”
$sudo npx pm2 kill (pm2로 실행중인 클러스터에서 80번을 점유중인 경우)

 

2. certbot-auto 설치 및 권한 설정하기
$wget https://dl.eff.org/certbot-auto

$chmod a+x certbot-auto

 

3. certbot-auto 실행하기

$./certbot-auto

$ .. 이메일 입력, 갱신 알람을 수신함

 

4. nginx 설정파일 변경 확인하기

$sudo vi /etc/nginx/nginx.conf

 

—-----------------------------------------------------------------------------------------------------

 

—-----------------------------------------------------------------------------------------------------

 

  • certbot-auto deprecate됨
  • ubuntu16.04 부터 letsencrypt 패키지가 내장됨
  • 그러나 certbot의 개발은 빠르게 진행되고 있음, apt 패키지 certbot은 구버전임, 반면 레포지터리는 최신으로 유지됨

 

5. 깃 레포에서 클론하기

$ git clone https://github.com/letsencrypt/letsencrypt

-> certbot-auto, letsencrypt-auto실행불가 : certbot 설치 deprecated됨

 

6. letsencrypt 패키지 설치하기

$sudo apt install letsencrypt

 

7. letsencrypt 패키지로 ssl 발급받기

$letsencrypt certonly --webroot --webroot-path=/home/ubuntu/www -d ftclone-portfolio.link

 

# deprecated, 실행오류, 인증안됨

 

—-----------------------------------------------------------------------------------------------------

snap 으로 certbot 설치하고 ssl 발급받기

—-----------------------------------------------------------------------------------------------------

 

      0. ubuntu20.04에 snapd 패키지 매니저 설치하기

https://docs.google.com/document/d/11mi7M9feej4POm8Na3LV3Aug_Rm2pf4p3GMvaS7v2LE/edit 

 

* EC2 에서 생성한 인스턴스에 탄력적 IP 할당 > ftclone-portfolio.link 호스팅 영역의 A 레코드로 IP 주소를 할당한 후에 인스턴스의 변경된 주소로 SSH 접속 > SSL 키 발급 순서로 진행

 

1. 기존 certbot 삭제하기

$sudo apt remove certbot

 

2. snap 최신 버전으로 업데이트하기

$sudo snap install core

$sudo snap refresh core

 

3. snap으로 certbot설치하기

$sudo snap install --classic certbot

$certbot –version

 

4. 링크 설정하여 확실하게 snap으로 설치한 certbot이 실행되도록 하기

$sudo ln -s /snap/bin/certbot /usr/bin/certbot

$certbot –version

 

5. certbot으로 ssl 요청하기



$sudo certbot certonly --nginx -d ftclone-portfolio.link

 


$sudo su

$cd /etc/letsencrypt/live/ftclone-portfolio.link

$ls -al

 

6. 인증서 자동 갱신 확인하기 (certbot이 자동으로 cron파일을 작성함)

$sudo certbot renew –-dry-run

$cd /etc/cron.d

$sudo vi certbot -> 없을 경우, 수동으로 갱신해주어야 함

$certbot renew

-> 이상 cron이 등록된다면 매일 00시와 12시에 자동으로 certbot renew가 실행됨

 

$systemctl list-timers




참고 

—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—

git으로 설치하기 20220106기준 발급실패

—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—

https://velog.io/@tngus3722/AWS-EC2에-SSL인증서-붙이기-Nginx-Lets-Encrypt 

https://velog.io/@teveloper/nginx-nginx를-활용해-AWS-EC2에-https-적용하기-무료-SSL-인증서-발급 

https://blog.advenoh.pe.kr/cloud/SSL-인증서-Ngnix-서버에-설치하기/ 

 

—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—

snap으로 설치하기 20220106기준 발급성공

—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—-----—

https://blog.buffashe.com/2020/09/get-ssl-cert-via-letsencrypt/ 

https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal 

https://www.enteroa.com/2021/01/08/lets-encrypt-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95-%EB%B3%80%EA%B2%BD/ 

 

Comments