[TIL] Local https

김민재·2025년 2월 17일

TIL

목록 보기
170/194

문제

Local에서는 Let's encrypt가 안 된다.

해결 방법

Local에서 https를 등록하려면 Open SSL을 다운받아 설정해야한다.

사용 방법

  1. OpenSSL 다운로드 / 환경변수 PATH 추가
  2. cmd에서 Ubuntu 접속
    2-1. 명령어를 이용해 OpenSSL 설정(국가 등등 작성)
openssl req -x509 -newkey rsa:4096 -keyout myserver.key -out myserver.crt -days 365

2-2. 정보 적기

  • 비밀번호
  • 국가 번호(KR)
  • 주 또는 도 빈칸 가능
  • 지역 이름 빈칸 가능
  • 조직명 빈칸 가능
  • 부서명 빈칸 가능
  • Common Name: localhost
  • 이메일 주소
  1. 모든 정보를 입력하면 SSL 키가 생성된다.(dir 후 myserver.crt / key를 찾는다. 또는 직접 검색)

  2. main.ts에서 fs 모듈을 이용하여 SSL 인증서를 가져온다.

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as fs from 'fs';
import { NestApplicationOptions } from '@nestjs/common';

async function bootstrap() {
  const httpsOptions: NestApplicationOptions = {
    httpsOptions: {
      key: fs.readFileSync('path/to/your/myserver.key'),  // 비공개 키 경로
      cert: fs.readFileSync('path/to/your/myserver.crt'), // 인증서 경로
          passphrase: '1q2w3e4r!', (시작할 때 만든 비밀번호)
    },
  };

  const app = await NestFactory.create(AppModule, httpsOptions);
  await app.listen(3000);  // 3000 포트에서 서버 실행
}

bootstrap();
  1. 이제 https:// 경로로 들어가면 시작이 잘 된다.
profile
개발 경험치 쌓는 곳

0개의 댓글