[TIL] 20241128 TIL : 아이템 시뮬레이터 마무리

Jaeyoung Ko·2024년 11월 28일
0

이전에 진행하던 아이템 시뮬레이터 프로젝트에 대해 마무리하는 시간을 가졌다.

사실 프로젝트 자체는 사실상 어제 완성을 한 상태였지만,

AWS EC2를 통해 가비아에서 구매한 도메인으로 배포하는 과정 및

기타 다른 디테일적인 부분의 수정이나 리팩토링 과정을 거쳤다.



리팩토링 내역을 정리하면 다음과 같다.


작업/리팩토링 내역

  • prisma 모델에 관하여 전체 column 명들에 대해 camelCase 스타일로 일관성을 위해 통일.

  • 로깅 미들웨어에 대해 로깅 레벨 info 뿐만 아니라 error를 기록하도록 변경.

  • 일부 api들에 대해 명세에 추가적인 validation 과정

    • 아이디 : 영문 소문자와 숫자의 조합은 정규표현식 을 이용해 검증
    • 비밀번호 : 최소 자릿수 제약조건 때문에 비밀번호 길이를 통해 검증



약간의 troubleshooting이라고 한다면,

ec2를 통해 배포 이후 해당 ec2 public ip주소 혹은 도메인 주소로 api 테스트를 할 때에 발생했다.

(1) ec2 public ip

https로 써서 api를 쏜 점이 문제였다. 내가 만든 프로젝트는 node와 express를 이용했기에 별도의 SSL 인증서의 설정이 없다면 기본적으로 HTTP로 설정이 된다. 그렇기 때문에 SSL 오류가 난 것이었다.

보통은 이를 방지하기 위해, SSL 인증서를 구입하거나 설정해야 하는데

무료로 발급가능한 Let's Encrypt 가 흔히들 사용된다고 한다.



(2) 도메인 주소

HTTP 요청은 기본적으로 포트 80을 사용하기 때문에, (HTTPS 요청은 443)

다른 포트를 이용할 시에는 반드시 포트 번호를 명시해줘야 하므로 (도메인 주소):PORT_NUMBER 를 붙여야 하는 것이다.

기본 포트에서 동작하려면 Nginx 또는 Apache와 같은 리버스 프록시 서버를 사용하는 것이 일반적이다.

profile
안녕하세요, 고재영입니다. 언제나 즐겁게 살려고 노력합니다.

0개의 댓글