-
[ssl 설정하기] 1. letsencrypt 설치[프로그래밍 | 개발]/[환경설정 등] 2021. 8. 10. 23:45
이 글은
이미 도메인이 구매되어 있고, 백앤드 및 프론트가 구현되어있는 상태에서 ssl을 설정하는 타래이다
// 웹서버는 nginx를 사용
// 운영체제 우분투 20^
test.com(꼭 .com 아니어도 됨) 에 대한 도메인을 구매했다고 가정
test.com
www.test.com
one.test.com
two.test.com
총 네 개의 url에 대한 ssl 설정을 한다.
설정 할 때 아래 내용에 대한 개념을 알고 있는 게 좋다(DNS, A record, cname)
https://dev.plusblog.co.kr/30 참고
letsencrypt 인증서를 사용할 것이다
letsencrypt는 무료인증기관 중 하나로,
https://letsencrypt.org/ 에서 문서를 미리 확인한다.
letsencrypt에서 받은 인증서는 3개월에 한 번씩 갱신해야 하는데,
certbot이 인증서를 설치, 갱신, 관리 해주는 ACME 도구이다
ACME (Automatic Certificate Management Environment) : Let’s Encrypt에서 구현한 프로토콜입니다. 해당 프로토콜과 호환되는 소프트웨어는 Let’s Encrypt를 사용하여 인증서를 요청할 수 있습니다. ACME RFC - 위키피디아
certbot 홈페이지에도 문서가 잘 되어있으므로 확인해본다
우선 리눅스 서버에서 apt를 업데이트 한다.
sudo apt-get update -y
기존에 설치된 certbot이 있다면 삭제
sudo apt remove certbot
certbot 설치(snap은 패키지 관리도구)
sudo snap install --classic certbot
인증서 발급에는
1. DNS
2. standalone
3. webroot
방식이 있는데,
standalone 방식만 설명한다.
(와일드 카드를 사용하는 방식 ex-- *.test.com 으로 하려면 DNS로 해야한다고 한다)
자세한 것은 letsencrypt 문서에서 확인
nginx가 켜져있으면 중지시켜놓는다
sudo service nginx stop
이나
sudo systemctl stop nginx
이제 인증서를 발급한다
sudo certbot certonly --standalone -w (인증서 저장할 디렉토리명) -d test.com -d www.test.com -d one.test.com -d two.test.com
위 명령어에서 --standalone 뒤에 -i --nginx 를 넣어주면,
기존에 설정된 nginx config파일에 인증서 관련 설정을 certbot이 자동 설정해준다
나는 따로 지정해주기 위해서 이렇게 함
중간중간에 Y나 메일 주소(안넣어도 상관은 없음) 넣어주는 것들 진행하고
발급이 완료되면
/etc/letsencrypt/live/ 하위에 지정한 폴더가 생기고, 인증서 키들이 저장되어있는 것을 확인할 수 있다
디렉토리 이름 지정 안하면, 도메인 이름으로 폴더가 생긴다
/etc/letsencrypt/live/README를 보면

이렇게 친절하게 각각의 키가 어떤 것인지 설명되어 있다.
'[프로그래밍 | 개발] > [환경설정 등]' 카테고리의 다른 글
[git lab] delete branch / 브랜치 삭제하기 (0) 2021.09.05 [gitlab ssh key 설정하기] (0) 2021.08.23 yarn 설치(window) (0) 2021.08.17 [ssl 설정하기] 3. 인증서 갱신설정(크론 예약) (0) 2021.08.11 [ssl 설정하기] 2. nginx 설정하기 (0) 2021.08.11