22.04 버전으로 Let's Encrypt를 설정하는 외국 게시물이 있길래 참고하여 설정해보고자 한다.
How To Secure Nginx with Let's Encrypt on Ubuntu 22.04 | DigitalOcean
www.digitalocean.com
갑좌
ubuntu 22.04 버전에서 CERT bot 은 snap 이라는 것을 이용해서, 설치하기를 권장하고 있다.
차례대로 입력해보자
sudo snap install core; sudo snap refresh core
먼저 snap core을 최신화 해주고
sudo apt remove certbot
old version의 certbot이 깔려 있다면 지워주고
sudo snap install --classic certbot
certbot을 설치해주자!
sudo ln -s /snap/bin/certbot /usr/bin/certbot
그리고 certbot의 환경변수를 지정해주자.
certbot을 설치 했으니, 본격적인 인증 설정을 해보자.
먼저, nginx의 기본 서버 설정 파일을 열어보자!
필자의 경우에는 default 파일에 적혀 있다.
default 파일에 도메인 이름이 제대로 적혀있으면 okay 다음 순서로 가보자.
3번째로, 방화벽을 통해 HTTPS 를 허용해주자.
ufw (ubuntu fire wall)을 통해, 방화벽 설정을 해줄건데, HTTP 설정을 위해서는 아래와 같은 상태가 되면 된다.
방화벽 설정에 대해서는 아래 글을 참고했다.
https://webdir.tistory.com/206
[Ubuntu] 우분투 방화벽(UFW) 설정
우분투의 기본적인 방화벽은 UFW입니다. 이는 iptables를 좀 더 쉽게 설정할 수 있도록 한 것인데 간단한 방화벽 구성에는 문제가 없지만 수준 높은 방화벽 구성에는 iptables 룰을 직접 사용해야 합
webdir.tistory.com
이제, 다음으로 SSL 인증서를 얻어보자
certbot은 다양한 방법으로 SSL 인증서를 설정할 수 있도록 지원하는데, 우리가 설치한 Nginx 플러그인은 설정을 재설정해주고, 필요에 따라 reload 해줄 것이다.
그를 위해서 아래를 type 해보자.
sudo certbot --nginx -d example.com -d www.example.com
참고로, example 대신 본인의 도메인을 작성하면 된다.
마지막으로, 아래 두 명령어까지 마저 실행하면
sudo systemctl status snap.certbot.renew.service
sudo certbot renew --dry-run
ssl 인증서 설정이 완료된다!!
모든 걸 설정하고, 정상적으로 발급되었다고 떴지만,, 오류가 발생했다. 접속이 아예 안되는 현상인데
사이트에 연결할 수 없음
사이드 프로젝트를 진행하던 도중 인증서를 발급받지 않고 http로 개발을 진행하다가 certbot을 통하여 https로 변경하니 갑자기 아래와 같은 오류가 발생했다.발급된 인증서가 문제인가?webserver인 n
velog.io
ㅋㅋ,, 여기까지 삽질했다면, 나와 같은 오류가 발생했을 텐데, 인증서 발급은 제대로 되었으나, ec2 환경의 보안그룹에서 인바운드 설정을 열어주지 않아서 접속이 되지않는 오류였다.
혹시나, 여기까지 따라했는데, 도메인주소로 연결시 연결되지 않거나 시간초과 같은게 뜰 경우,
ec2 보안그룹에서 인바운드 설정 중 HTTPS 를 열어주었는지 다시한번 확인해주도록 하자!
인바운드 설정을 잘 체크해주도록 하자..
'개발 > 리눅스' 카테고리의 다른 글
리눅스 세팅(2) - 도메인, 서브 도메인 연결하기 (0) | 2022.10.24 |
---|---|
리눅스 세팅(1) (0) | 2022.10.24 |