1. OpenSSL 설치
설치 방법
- https://slproweb.com/products/Win32OpenSSL.html 접속
- Win64 OpenSSL v3.x.x 버전 다운로드 (Light 말고 Full 설치 권장)
- 설치 중 다음 옵션 확인:
- "Copy OpenSSL DLLs to The Windows system directory" 체크
- 설치 후 시스템 환경 변수에 C:\Program Files\OpenSSL-Win64\bin 추가
설치 확인:
cmd
openssl version
2. SSL 인증서 발급
cmd 또는 PowerShell에서 아래 명령어 실행:
cmd
openssl genrsa -out dev.key 2048
openssl req -new -key dev.key -out dev.csr
openssl x509 -req -days 365 -in dev.csr -signkey dev.key -out dev.crt
- dev.key: 개인키
- dev.csr: 인증서 요청 파일
- dev.crt: 최종 SSL 인증서
CSR 만들 때 입력하는 Common Name은 반드시 localhost로 해야 합니다.
(브라우저에서 접근할 때 경고를 줄일 수 있어요.)
3. Node.js HTTPS 서버 만들기 (Express 예시)
server.js 파일 생성:
js
const https = require('https');
const fs = require('fs');
const express = require('express');
const app = express();
const options = {
key: fs.readFileSync('dev.key'),
cert: fs.readFileSync('dev.crt'),
};
app.get('/', (req, res) => {
res.send('🔐 HTTPS 서버 작동 중!');
});
https.createServer(options, app).listen(3000, () => {
console.log('HTTPS 서버 실행 중: https://localhost:3000');
});
설치 필요한 패키지:
cmd
npm init -y
npm install express
실행:
cmd
node server.js
4. 브라우저에서 테스트
- 브라우저에서 접속: https://localhost:3000
- 주의: 경고 페이지가 뜰 수 있습니다. 이는 인증서가 자체 서명이기 때문입니다.
- Chrome/Edge: 고급 → 계속 진행 클릭
- Firefox: 예외 추가
5. 인증서를 로컬 신뢰 저장소에 등록 (선택 사항)
개발 편의를 위해 브라우저 경고를 없애고 싶다면, 인증서를 로컬 시스템에 등록할 수 있습니다.
방법 (Windows 기준):
- dev.crt 파일을 더블 클릭
- "인증서 설치" 클릭
- "로컬 컴퓨터" 선택
- "신뢰할 수 있는 루트 인증 기관" 선택
- 설치 완료 후 브라우저 재시작
🔁 요약
단계 | 설명 |
1 | OpenSSL 설치 |
2 | dev.key / dev.crt 생성 |
3 | Node.js + Express 서버로 HTTPS 구성 |
4 | 브라우저에서 https://localhost 접속 |
5 | (선택) 인증서 시스템에 등록 |
'Tips' 카테고리의 다른 글
프로젝트 초기 설계 시 반드시 고려해야 할 체크리스트 (3) | 2025.04.11 |
---|---|
Windows 서버에서 방화벽 오픈 여부 확인하는 방법 (0) | 2025.04.08 |
Windows에서 원격 데스크톱 동시 접속 세션 늘리는 방법 (0) | 2025.04.07 |
개발시 변수명 작성 가이드, 좋은 네이밍의 기준 (1) | 2025.03.21 |
[windows] 사용중인 포트 강제로 죽이기 (0) | 2022.08.04 |