# OpenSSL 설치
[MacOS] OpenSSL 설치 & 인증서 발급
# OpenSSL 설치[ Windows에서 OpenSSL 설치 ] [Node.js] Windows - OpenSSL 설치부터 Node에 HTTPS 적용# OpenSSL 설치Windows용 OpenSSL 배포판 Shining Light Productions에서 제공하는 것을 사용해 설치 Shining Light Productions 링
d0u0b.tistory.com
Windows용 OpenSSL 배포판 Shining Light Productions에서 제공하는 것을 사용해 설치
Shining Light Productions 링크 들어가서 화면 내리면 설치 파일 다운로드
원하는 버전, 윈도우 사양 선택 후 EXE 누르면 설치 (저는 Win64 OpenSSL v3.3.0 Light 으로 설치했습니다)
# 파일 설명
다운 완료된 exe파일 실행
💡 마지막에 체크박스로 선택하는거 나오는데 후원 여부입니다 원하지 않으면 체크 해제하고 끝내면 됩니다
# 환경 변수 설정
설치 완료 시 윈도우 검색(환경 변수 입력) → 환경 변수 클릭 → 시스템 변수쪽에 Path 선택 후 편집 → 새로 만들기
C:\Program Files\OpenSSL-Win64\bin
# OpenSSL을 이용한 인증서 및 개인 키 생성
1. cmd 창 열어서 인증서 및 개인 키를 생성할 디렉터리로 이동 (새로 만들거나 기존 디렉터리 이용해도 무관)
cd C:\secret
2. 개인 키 생성
openssl genrsa -out key.pem 2048
3. 인증서 요청CSR생성
아래 명령어를 입력하면 질문에 대한 답을 해야하는데 2개 제외하고 엔터치면 됨 (사진 참고 )
- Country Name : 국가 코드 (엔터로 넘어가면 AU :호주)
- Common Name : 서버의 호스트 명 또는 도메인 명 (로컬 개발 환경에서 localhost)
openssl req -new -key key.pem -out csr.pem
4. 자체 서명된 인증서 생성
openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out cert.pem
5. 확인
명령어 입력했던 폴더 들어가보면 3개의 .pem 파일이 생성됨
노드에서 HTTPS 설정할 때 사용하는 건 cert.pem / key.pem 파일
# Node.js HTTPS 설정
우선 서버 설정 파일(server.js)가 있는 같은 경로에 인증서 cert.pem과 key.pem 복사
[server.js]
const express = require('express');
const https = require('https');
const fs = require('fs');
const cors = require('cors');
const app = express();
const port = 8088; // 포트 설정
app.use(cors());
// HTTPS 옵션 설정
const httpsOptions = {
key: fs.readFileSync('./key.pem'), // 개인 키 파일
cert: fs.readFileSync('./cert.pem'), // SSL/TLS 인증서 파일
};
// HTTPS 서버 시작
https.createServer(httpsOptions, app).listen(port);
'Framework > Node.js' 카테고리의 다른 글
[Node.js] 쿼리문 실행 시 트랜잭션 걸기 #BEGIN #COMMIT #ROLLBACK (1) | 2024.05.10 |
---|---|
[Node.js] 쿼리 실행 시 로그 출력 (0) | 2024.05.07 |