Slog
Sign in

letsencrypt 와 greenlock 으로 NodeJS서버에 https (SSL) 적용하기

2020 Sep 1
1 min read
letsencrypt 와 greenlock 으로 NodeJS서버에 https (SSL) 적용하기

오늘은 ubuntu 환경에서 letsencrypt 와 greenlock 으로 NodeJS 서버에 무료로 https를 적용하는 방법을 알아보도록 하겠습니다.

https 를 쓰는 이유

암호화

교환하는 데이터를 암호화 하여 도청자로부터 안전하게 보호합니다.

Google 검색 엔진

https를 사용하면 구글 검색 엔진에 의해 더 상위에 노출 될 수 있습니다.

이 외에도 많은 장점을 가지고 있기 때문에 https를 적용하는 곳이 늘어나고 있습니다.

https는 도메인이 있어야 적용이 가능합니다.

letsencrypt

letsencrypt 는 무료로 https 인증서를 제공합니다. 90일마다 갱신을 해줘야 하지만 greenlock으로 자동 갱신까지 구현해보도록 하겠습니다.

greenlock

자동으로 인증서를 갱신하기 위해 greenlock를 설정합니다.

설치

yarn add greenlock-express
yarn add greenlock

or

npm i greenlock-express
npm i greenlock

greenlock을 express 서버에 적용하기 위해 해당 라이브러리를 설치합니다.

config

npx greenlock init --config-dir ./src/greenlock.d --maintainer-email 'jon@example.com'

위의 명령어를 실행하여 greenlock config 파일을 src/greenlock.d 디렉토리에 생성합니다.

app.js 와 server.js 파일이 생성됩니다. (지우셔도 무방합니다.)

npx greenlock add --subject example.com --altnames example.com

위의 명령어를 실행하여 도메인을 설정에 추가합니다.

src/server.js

const app = require("./app.js");

require("greenlock-express")
  .init({
    packageRoot: "project 경로",
    configDor: "./src/greenlock.d",
    cluster: false,
    maintainerEmail: "example@example.com"
  })
  .serve(app);

위와 같이 설정하면 https (443), http (80) 포트로 서버가 실행됩니다.

주의 ! 인증서는 7일에 5번 까지 생성할 수 있습니다.

마치며

오늘은 무료 ssl 을 제공하는 letsencrypt를 이용하여 NodeJS 서버에 https 를 적용하여 보았습니다.

혹시 문제가 발생하거나 궁금한 점이 있으시면 댓글로 남겨주시면 감사하겠습니다.

Explore Popular Contents

0 Comments

Anonymous