https 무료 ssl 인증서 발급받기 / certbot ( 서트봇 ) 사용 방법

https 인증서를 사용하면 홈페이지의 도메인의 신뢰도가 높아지고 검색엔진들이 좋아한다고 알려져 있다.
certbot( 서트봇 )을 사용하면 무료로 https을 위한 ssl 인증서를 무료로 발급받고 사용할 수 있지만, 3개월 이내 새롭게 갱신해야 하는 단점이 있다.
서비스가 명확하고 수익이 있다면 도메인 구입업체에서 유료 https ssl 인증서를 사용하면 되겠지만, 큰 비용이 필요 없는 테스트 또는 MVP와 같은 최소 서비스 홈페이지들의 경우 무료 ssl 인증서를 사용하면 https를 이용할 수 있다.
ssl 인증서로 보안적용된 https의 경우 검색엔진들도 긍정적으로 판단하고 있다.

1.https 무료 ssl 인증서 발급받기
서트봇( certbot ) 사용 방법

자신이 홈페이지의 접속 보안인증을 위해 http를 https로 설정하고 싶을 것이다.
ssl 인증서를 설치하면 되지만, 비용적인 측면에서 부담이 된다면 certbot을 사용하여 ssl 인증서를 발급받고 https 보안 인증을 사용할 수 있다.
단점이 있다면 certbot으로 무료로 ssl 인증서를 생성하여 사용할 수 있지만, ssl 인증서에 대한 만료일은 3개월이내이다. 즉, 1년에 4번은 수시로 인증서를 갱신해 주어야 한다는 점이다.
몸이 조금 귀찮지만, 이만한 수고는 귀찮음 정도로 생각하자.
연습삼아 한달에 한번 해보면 그렇게 어렵지 않다는 것을 알 수 있다.
아래는 certbot을 사용하여 ssl 인증서를 발급받고 http를 https로 인증하는 과정을 보여준다.
필요한 것은 ubuntu 리눅스와 certbot이다.

2.인증서 발급과 설정 방법

인증서를 만들고 카페24에서 설정까지 해 보도록 하자.
과정이 상당히 길다.
하나씩 실행해 보도록 하자.
요점은 ssl 인증서를 위해 certbot이 필요하다.
certbot 실행을 위해 ubuntu 리눅스도 필요하다.
그리고, certbot으로 만들어진 인증서를 읽고 내용을 복사한 후 카페24의 외부인증서 관리 메뉴에 있는 입력란에 입력하면 된다.
필요한 것을 정리하면 다음과 같다.

  • ubuntu 리눅스: certbot 실행
  • certbot: ssl 인증서 발급
필요한 것은 2가지이다.
다만, 익숙하지 않으면 어려울 수 있지만, 하나씩 해보도록 한다.
사용하는 리눅스 명령어 또한 몇 개 되지 않는다.
아래는 ubuntu 리눅스의 설치부터 certbot 인증서 발급, 마지막으로 카페24의 외부인정서 관리에서 certbot이 발급한 인증서를 등록하는 과정을 순서대로 작성한 내용이다.

  1. 인증서 생성하기
    1. 윈도우에 우분투 리눅스 설치
    2. 서트봇 설치 확인
      certbot --version
      1. 서트봇 없다면 설치하기.
        sudo snap install --classic certbot
      2. 서트봇 업데이트
        1. sudo apt update
        2. sudo apt install snapd -y
    3. 인증서 만들기
      certbot certonly --manual --preferred-challenges http --email 이메일주소 --agree-tos --key-type rsa -d 도메인
    4. 인증서 확인
    5. 만들어진 인증서 키 복사
    6. 웹사이트 위치에 파일 만들기
    7. 만들어진 파일 url 접속과 확인
  2. 인증서 정보 복사하기
    1. 우분투 Root 계정 변경
    2. 폴더 이동
      1. cd /etc/letsencrypt/live/
    3. 만들어진 도메인 폴더로 이동
    4. 인증서 문자열 확인
      1. tail -n 5000 fullchain.pem 문자열 확인
      2. tail -n 5000 privkey.pem 문자열 확인
  3. 카페24 외부인증서 붙여넣기
    1. tail -n 5000 fullchain.pem 문자열 > 카페24 외부인증서 SSL CRT
    2. tail -n 5000 privkey.pem 문자열
      >카페24 외부인증서 SSL 인증서
    3. 신청하기
    4. 10~15분 혹은 1시간 뒤 https 접속확인
  4. 만들어진 인증서 정보 확인
    1. certbot certificates

3.과정 보기

이제 위의 과정을 따라해 보자.
캡쳐 이미지가 부정확할 수 있다. 다만, certbot이란 괜찮은 ssl 인증서 생성에 대한 정보는 검색하면 많이 나온다.
여기서는 최소한 본인이 하는 방향을 기준으로 하고 있다.
( 3개월마다 인증 파일을 만드는 것이 귀찮긴 하지만, 무료인 점에서 이정도 귀찮음은 아무것도 아니라고 생각한다.)

1.인증서 생성하기

먼저, 인증서를 생성하기 위해 리눅스를 윈도우에 설치해야 한다.
과거에 비해 많이 편해졌으며, `마이크로소프트 스토어`에서 검색하면 바로 설치할 수 있다.
여러가지 버전이 있지만 단순히 `ubuntu`라고 쓰여진 리눅스를 선택했다.
여기서 의문점이 생긴다.
윈도우에서 그냥 만들면 되지 않나 ?? 할 수 있고, certbot 홈페이지에 가면 윈도우 관련 메뉴얼도 있다.
다만, 언제부턴가 윈도우에서 직접적인 지원을 하지 않은 상태이기에 굳이 윈도우에 리눅스를 설치하여 사용하고 있다.
사용할 명령어는 몇 개 되지 않으며, 리눅스라고 해도 겁먹을 필요는 없다.
만약, 애플의 맥OS에 익숙하다면 거부감은 들지 않을 것이다.

1.1.윈도우에 우분투 리눅스 설치

윈도우에 우분투( ubuntu ) 리눅스가 없다면 `마이크로소프트 스토어(Microsoft Store)`앱을 실행하자.
윈도우키를 누르면 시작 메뉴 화면이 나타난다.
윈도우나 마이크로소프트 스토어나 같은 마이크로소프트이기 때문에 `고정됨`메뉴에 나타날 것이다.
윈도우키를 눌러 나타난 메뉴의 상단에 큼지만하게 보일 것이다.
이것을 클릭하면 마이크로소프트 스토어 앱이 실행된다.

마이크로소프트 스토어 열기
마이크로소프트 스토어 열기

실행된 마이크로소프트 스토어 앱에서 `ubuntu`단어로 검색하자.
검색창은 상단에 작게 표시되어 있을 것이다.
해상도가 높다면 잘 보이지 않을 수 있다.
ubuntu 단어를 사용해 검색을 했다면 여러가지 버전과 앱들이 자동완성되어 나타날 것이다.
간단히 ubuntu라 표시된 부분을 선택한다.

ubuntu ( 우분투 ) 검색
ubuntu ( 우분투 ) 검색

여러가지 앱들이 나타날 것이며,
설치가 되지 않았다면 파란색의 `설치` 버튼이 나타날 것이다.
`설치`버튼을 클릭하면 자동으로 윈도우에 설치한다.
설치가 완료되면 버튼의 모양은 `설치됨`으로 변경된다.

ubutu 다운로드&설치
ubutu 다운로드&설치

설치가 완료되면 앞으로는 시작메뉴에서 편하게 실행할 수 있다.
윈도우에서 사용하는 리눅스가 많이 편해졌다.
윈도우키를 누르면 ubuntu를 바로 실행할 수 있으며, 만약 나타나지 않는다면 윈도우키를 누른 후 ubuntu라고 검색을 하면 실행 아이콘이 바로 나타난다.
ubuntu를 실행하면 투박한 화면의 윈도우의 명령 프롬프트 같은 창이 나타난다.

1.2.certbot 설치 확인

혹시 모르니 cerbot이 설치되어 있는지 확인해 보자.
명령어는 `certbot --version`이다.
만약 certbot이 설치되어 있다면, 버전 정보가 나타날 것이지만, 설치되지 않았다면 에레 메세지가 나타날 것이다.
아래는 certbot이 리눅스에 설치된 버전정보를 보여준다.

certbot 버전보기

1.3.certbot 없다면 설치하기

만약, certbot이 설치되어 있지 않다면, 설치할 필요가 있다.
혹여 설치되어 있다면, 업데이트할 수 있다.
본인의 경우 생각날 때마다 가끔씩 진행한다.
certbot을 설치하기 위한 명령어는 `sudo snap install --classic certbot`이며,
업데이트가 필요한 경우 명령어는 `sudo apt update` 후 `sudo apt install snapd -y`를 차례로 실행하면 된다.

  • cerbot 설치하기
    • sudo snap install --classic certbot
  • certbot 업데이트
    • sudo apt upate
    • sudo apt install snapd -y

1.4.인증서 만들기

certbot이 정상적으로 설치되었다면 버전정보를 확인할 수 있다.
이번에는 인증서를 만들 차례이다.
아래의 명령어를 보자.

  • certbot certonly --manual --preferred-challenges http --email 이메일주소 --agree-tos --key-type rsa -d 도메인
그대로 사용하면 된다.
여기서, 사용자가 변경할 부분은 `이메일주소, 도메인`이다.
이메일은 도메인의 소유자를 지정하고, 도메인은 https를 지정할 도메인을 입력하면 된다.
예를 들어, 인증이 되지 않은 http://code.anyother.com 도메인이 있고, 소유자가 other@anyother.com 일 경우,
이메일주소 부분은 other@anyother.com, 도메인 부분은 other@anyother.com 이 된다.
  • 이메일주소
    - 도메인의 소유자 이메일
  • 도메인
    - https로 설정할 도메인

인증서 확인

만들어진 인증서 키 복사

웹사이트 위치에 파일 만들기

만들어진 파일 url 접속과 확인

2.인증서 정보 복사하기

이번엔 인증서 정보를 확인하고 내용을 확인하고 복사하기 준비를 할 차례이다.
인증서의 정보는 도메인의 https 인증을 하기 위한 정보이며, 여기서는 카페24에 적용할 것이다.
만약, 도메인은 외부이며, 코드가 카페24에 있을 경우 카페24의 외부 인증서 정보에 인증서 정보를 등록하고 확인하는 절차를 통해 https를 사용할 수 있다.
본인의 경우 스프링부트 코드는 카페24에 있고, 도메인은 가비아에서 사용하고 있다.
그렇기에 카페24의 웹호스팅 관리에 있는 외부 인증서에 certbot에 발급한 인증서 정보를 등록하고 https를 사용하고 있다.

2.1.우분투 Root 계정 변경

우분투( ubuntu ) 리눅스를 설치했다면, 실행하는 시점부터 관리자 권한부터 시작할 것이다.
certbot이 발급한 인증서는 root 계정으로 접근 가능하기 때문에, 사용자 변경 명령어를 사용하여 사용자 계정을 변경해야 한다.

우분투 root 사용자

우분투 리눅스에서 관리자 계정으로 변경하는 명령어는 `su`이다.
만약, 위의 이미지처럼 우분투 리눅스를 실행했을 때 root 가 아니라면 비밀번호를 물어볼 것이다.
( 본인은 이런 귀찮음 때문에 ubuntu를 그냥 root부터 사용한다. )
su 명령어를 사용했고, 관리자 비밀번호를 입력했다면 위의 이미지처럼 root가 표시될 것이다.
참고로, mypc는 내 컴퓨터 이름이며, 사용자마다 다를 것이다.

2.2.폴더 이동 cd /etc/letsencrypt/live/

인증서 파일을 정보를 읽기 위해 폴더를 이동한다.
certbot으로 발급한 인증서 파일의 위치는 우분투 리눅스 기준 `/etc/letsencrypt/live`이다.
폴더 이동을 위해 cd 명령어를 사용한다.
전체 명령어는 소제목과 같이 `cd /etc/letsencrypt/live`이다.
여기서 `ls -al` 커맨드를 입력하면 파일명이 보일 것이다.

만들어진 live 도메인 폴더 이동

2.3.만들어진 도메인 폴더로 이동

이제 인증서가 만들어진 도메인 폴더로 이동해 보자.
도메인 폴더는 https 에 적용할 도메인 명칭을 가진 폴더를 의미한다.
만약, 도메인이 any.other.com 이라면 certbot이 생성한 도메인 폴더는 any.other.com 이 된다.
이미 위해서 인증서가 만들어지는 기본 폴더인 `/etc/letsencrypt/live`로 이동했으며,
https에 적용할 도메인과 같은 이름의 도메인 폴더가 생긴 것을 볼 수 있다.
`cd` 명령어를 사용하며 도메인 폴더로 이동하자.
`cd 도메인폴더` 형태로 명령어를 입력하면 된다.

만들어진 도메인 폴더로 이동

도메인 폴더로 이동한 후 `ls -al`명령어를 사용하면 인증서 파일들이 생성된 것을 볼 수 있다.
여기서 필요한 것은 fullchain.pem 과 privkey.com 이다.
이 둘의 내용을 복사하여 cafe24의 외부 인증서 관리 화면에 내용을 등록하면 된다.

2.4.인증서 문자열 확인

.

tail -n 5000 fullchain.pem 문자열 확인

.

fullchain.pem

.

tail -n 5000 privkey.pem 문자열 확인

.

privkey.pem

.

3.카페24 외부인증서 붙여넣기

tail -n 5000 fullchain.pem 문자열 > 카페24 외부인증서 SSL CRT

tail -n 5000 privkey.pem 문자열 >카페24 외부인증서 SSL 인증서

신청하기

10~15분 혹은 1시간 뒤 https 접속확인

4.만들어진 인증서 정보 확인

cerbot으로 ssl 인증서를 만들었다면 3개월 정도의 유효기간이 생긴다.
유효기간이 지나면 인증서를 다시 갱신해야 한다.
그렇기에 https를 위한 인증서 만료일 확인이 필요하다.
`certbot certificates` 명령어를 사용하면 cerbot으로 생성한 ssl 인증서의 만료일을 확인할 수 있다.
아래의 이미지를 보자.
`Expiry Date`를 확인하면 2026년 3월 12일이 만료일이며, 이미지를 캡쳐한 시점 89일의 유효기간을 확인할 수 있다.
만료일이 지나면 certbot을 사용해 다시 인증서를 만들거나 또는 기간 내에 ssl 인증서를 업데이트하고 적용하면 된다.

certbot 생성된 인증서 확인
certbot 생성된 인증서 확인

댓글