ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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 홈페이지에도 문서가 잘 되어있으므로 확인해본다

    https://certbot.eff.org/

     

    우선 리눅스 서버에서 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를 보면

     

    이렇게 친절하게 각각의 키가 어떤 것인지 설명되어 있다.

     

     

    댓글

Designed by Tistory.