Let's Encrypt 를 통한 무료 SSL 인증서 발급

Angelo·2020년 3월 5일
0

Server

목록 보기
2/2

이 포스트는 Let's Encrypt 무료 SSL 인증서를 발급 받는 방법에 대해 설명합니다.
Let's Encrypt 로 발급받은 인증서의 유효기간은 3개월이며, 해당 포스트에서는 자동 갱신에 대한 내용은 포함되어 있지 않습니다.
Let's Encrypt 에 대한 자세한 내용은 Let's Encrypt 에서 확인 부탁 드립니다.

1. 환경

  • 운영체제: Windows 10 (1803)
  • 서버: Apache (2.4)
  • ACME CLient: WACS (2.1.4.710.x64.pluggable)

2. 목적

Node.js 의 express 혹은 koa 에서 https 프로토콜을 사용하기 위해 적용 할 SSL 을 발급 받는 절차를 정리하였습니다.

3. 사전 완료 작업

  • apache 서버를 구동하였습니다. (httpd.conf 에서 SRVROOT 설정 및 Listen 80 설정)
  • 공유기 설정에서 apache 서버의 로컬 ip 에 대한 특정 포트 (80번) 대해 포트포워딩을 하였습니다.
  • 공유기 설정에서 공유기 회사에서 제공되는 ddns 를 사용하였습니다.
  • Windows 10 의 제어판을 통해 Windows Defender 방화벽을 설정을 개인 및 게스트 또는 공용 네트워크 모두 방화벽 사용 안 함으로 설정하였습니다.

4. Let's Encrypt SSL 발급 방법

  1. cmd 를 관리자 권한으로 실행하여 wacs.exe 를 실행합니다.


2. 새로운 인증서를 발급 받을 것이므로 'M'을 선택합니다.


3. 인증서 발급에 필요한 정보를 직접 입력 할 것이므로 '1'을 선택합니다.


4. host name 을 입력합니다.


5. 서버에 인증서 파일들을 저장 할 것이므로 '1'을 선택합니다.


6. 인증서를 다룰 사이트의 root 패스를 적으라고 나오는데 저의 경우에는 'c:\Sun\Apache24\htdocs" 를 입력하였습니다.

  • c:\Sun\Apache24\htdocs 는 ddns 주소로 접속 했을때 나오는 index.html 파일이 위치한 곳입니다.
  • win-acme 를 이용 할 때 웹루트 디렉토리를 정확하게 지정해줘야 그 하위에 .well-known/acme-challenge 라는 폴더가 생성 됩니다.
  • win-acme 는 저 폴더 및 폴더 안에 특정 파일을 임시적으로 생성하는데, 외부에서 저 경로로 접속을 하여 미리 만들어 놓은 파일을 읽어들일 수 있어야 challenge 가 달성됩니다.
This memo defines a path prefix for “well-known locations”, “/.well-known/”, in selected Uniform Resource Identifier (URI) schemes.


7. 검증 전 기본 web.config 를 복사 하겠냐는 물음에 "n"을 선택하였습니다. ("Copy default web.config ~" 문구는 SSL 을 처음 발급 받으시는 분은 나오지 않을수도 있습니다. )


8. express 서버에서 사용 할 RSA 키를 발급 받기 위해서 '2'를 선택하였습니다.


9. 마찬가지로 express 서버에서 사용 할 PEM encoded file 들을 발급받기 위해 '2'를 선택하였습니다.


10. .pem 파일들이 저장 될 경로를 설정합니다.


11. 인증서 저장 관련 추가적인 작업을 묻는데 '3'을 선택합니다.

12~15 과정은 SSL 을 처음 발급 받는 분이라면 나오지 않는 문구들입니다.


12. 마찬가지로 여기서는 '4'를 선택합니다.


13. Overwrite 여부를 묻습니다.


14. 기존 작업을 교체 할 것이냐고 묻습니다.


15. 작업을 실행할 사용자를 지정 하겠냐고 묻습니다.

5. 완료


정상적으로 발급이 완료되면 '10' 과정에서 입력 한 폴더에 .pem 파일들이 생성 된 것을 확인 할 수 있습니다.

0개의 댓글