[필수개념] HTTP와 HTTPS 이해하기

OlMinJe·2024년 3월 7일
0

zero-base

목록 보기
18/21
post-thumbnail

HTTP와 HTTPS의 차이점

HTTP(Hypertext Transfer Protocol)는 웹 서버와 클라이언트 간에 정보를 주고받는 프로토콜입니다.
그러나 HTTP는 암호화되지 않아 데이터를 전송하는 과정에서 정보가 노출될 위험이 있습니다.

반면, HTTPS(Hypertext Transfer Protocol Secure)SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security)라는 보안 프로토콜을 사용해 데이터를 암호화합니다.
이로 인해 데이터가 중간에 노출되더라도, 암호화되어 있어 안전하게 정보를 전송할 수 있습니다.


HTTPS 적용 방법

HTTPS를 적용하기 위해서는 SSL/TLS 인증서가 필요합니다.
이 인증서는 신뢰할 수 있는 CA(Certificate Authority)로부터 발급받을 수 있으며, 이는 웹 서버가 신뢰할 수 있는 서버임을 보증합니다.

< 인증서를 발급받는 과정 >

  1. CA에 인증서 발급 요청(CSR, Certificate Signing Request 생성)
  2. CA로부터 인증서와 사인된 공개키 받기
  3. 웹 서버에 인증서와 사인된 공개키 설치
  4. 웹 서버에서 HTTPS 활성화

Node.js Express에서 HTTPS 적용하기

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

const options = {
  key: fs.readFileSync(실제_키_파일의_경로),
  cert: fs.readFileSync(실제_인증서_파일의_경로)
};

https.createServer(options, app).listen(3000, function() {
  console.log('HTTPS server started on port 3000');
});

실제 키와 인증서 파일은 꼭 .gitignore 처리를 해줘야 한다.

profile
໒꒰ྀ ˶ • ༝ •˶ ꒱ྀིა

0개의 댓글