HTTPS

백승용·2020년 12월 16일
0

HTTPS

SSL(Secure Socket Layer)은 TLS의 이전의 프로토콜입니다.
TLS(Transport Layer Security)은 SSL보다 취약성을 해결하고 더욱 강력하고 안전한 암호화 된 프로토콜이다.
SSL 3.0과 TLS 1.0은 호환되지 않기 때문에 상호 운용되지 않는다.
SSL과 TLS로 웹 서버와 사용자의 웹 브라우저 간 통신을 암호화 하는데 사용되는 프로토콜입니다.
이젠 SSL을 잘 사용하지 않는다고 하네요.

HTTPS 사설 인증서 발급

mkcert라는 프로그램을 이용해서 로컬 환경에서 신뢰할 수 있는 인증서를 만들 수 있다.

[Ubuntu에서 mkcert 설치]
$ sudo apt install libnss3-tools
$ wget -O mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
$ chmod +x mkcert
$ sudo cp mkcert /usr/local/bin/

[로컬을 인증된 발급기관으로 추가]
$ mkcert -install

[로컬 환경에 대한 인증서를 생성]
$ mkcert -key-file key.pem -cert-file cert.pem localhost 127.0.0.1 ::1

서버 구현

const https = require('https');
const fs = require('fs');
const express = require('express');
const app = express();

app.use('/', (req, res) => {
      res.send('Congrats! You made https server now :)');
})

https
  .createServer(
    {
      key: fs.readFileSync(__dirname + 'key.pem', 'utf-8'),
      cert: fs.readFileSync(__dirname + 'cert.pem', 'utf-8'),
    },
	app
  )
  .listen(3001);

0개의 댓글