사이드 프로젝트를 진행하다가 사이트의 보안이 안전하지 않다는 메세지가 떠서 HTTPS를 달아보기로 했다. 여러 사이트가 있지만 비용상 유료 SSL을 발급받기에는 여의치 않았고, 무료 SSL을 받을 수 있는 Let's Encrypt와 SSLFORFREE 중 후자를 선택했다. 전자는 Certbot을 이용하며 webserver에서 인증서를 발급받아야 하는데, 우리는 도메인 확인에서 인증오류가 나서 결국 후자를 시도해보게 되었다.
우리는 도메인 발급을 호스팅케이알(https://www.hosting.kr/) 에서 진행했다. 국내에서 굉장히 싸게 구입할 수 있고 도메인 적용도 발급 후 거의 바로 되기 때문에(일을 너무 잘함) 선택하게 되었다.
도메인을 구입한 후 서버와 도메인을 등록하는 과정은 아래의 고객센터를 통해 해결했다.
DNS 레코드 설정 방법
발급받은 호스팅케이알에서 SSL 인증서를 유료로 구매하면서 대행비도 지불하면 손쉽게 https 설정을 할 수 있었지만 굳이 있는 무료 SSL을 사용하지 않을 이유도 없기에 시간을 들여서라도 시도를 했다.
일단 사이트로 이동한다.
https://www.sslforfree.com/
SSL 인증서를 받을 도메인 주소를 입력한후 Create Free SSL Certificate 버튼을 클릭한다. Sign Up 페이지가 뜨면 회원 가입을 완료한다.
와일드 카드 체크하는 버튼이 있는데, 이것은 PRO 버튼이 있어 유료라 스킵했다.
여러가지 서비스를 연결 할 때 유용할 것 같지만 지금은 없어도 될 것 같다.
도메인 주소 하나를 입력하면 자동으로 www 붙인 도메인도 생성된다.
next Step 을 클릭한다.
90일 인증서와 1년 인증서가 있다. 1년 인증서는 PRO 마크가 붙어있어 유료지만 생각보다 90일이 짧아서 갱신을 해야한다는 단점이 있으나.. 무료이니까 선택한다. 90일마다 갱신하면 된다.
CSR 정보를 자동으로 생성할 건지 물어본다. 국가 코드, 도시, 회사명, 부서명, 이메일, 도메인 주소 등을 기록하는 건데 간편하게 자동으로 생성하도록 체크했다.
요금제는 Free로 체크한다.
Your certificate has been created and is ready for domain verification.
이제 도메인 인증할 준비가 완료되었다.
방법은 세가지가 있다.
1. 이메일 인증
2. DNS(CNAME)
3. HTTP 파일 업로드
나는 두번째 DNS(CNAME)을 선택했다. 다른 두 가지도 시도해보았는데, 이메일 인증은 운이 나쁘면 메일이 아주 늦게 왔다. 난 하루정도 뒤였는데, 이미 두 번째 방법으로 해결한 상태였다. 세 번째 방법은 http server로 들어가서 경로로 들어갈 수 있어야하는데 응답이 정상적으로 오지 않아서 애먹었다.
DNS(CNAME)을 클릭 후 CNAME 레코드를 별도로 메모(복사)해둔다. 다음 스텝을 진행한다.
나는 처음에 제대로 넣었는데 계속해서 인증이 안된다고 나와서 이유를 찾아봤다.
zerossl.com이 설명을 제대로 안넣어준 건 맞는데 troubleshooting에 가보니 해결 방법이 나와있었다.
한 마디로, Name 값에 나와있는 .도메인.com 부분까지 포함되어서 생기는 이슈인 것이다. 뒤에 거를 빼고 앞에거를 넣으니 인증서 발급에 성공했다.
이제 인증서를 사용할 준비가 끝났다!
Reference