본문 바로가기

백엔드6

HTTPS 환경 및 구축 방법 클라이언트와 서버의 통신과정 일반적으로 클라이언트에서 시작되는데, 클라이언트가 서버에 HTTP요청을 보내면 서버는 그 요청을 받아들이고 응답을 반환한다. 요청하고 응답하는 데이터는 HTTP형식으로 정의되고 이 정의된 HTTP메시지는 TCP/IP를 통해서 전송처리된다. HTTP요청을 보낼때, 요청 헤더에 클라이언트의 IP가 노출되기 때문에 보안 이슈가 생길 수 있으며 이를 방지하기 위해 HTTPS 프로토콜을 사용하면 요청메시지와 응답메시지가 암호화되어 전송되기때문에 중간에 제3자가 정보를 가로채어 확인하는것을 막을 수 있다. 📌HTTPS는 SSL/TCL프로토콜을 사용해서 통신 내용을 암호화한다. 클라이언트 - 프록시 - 웹서버 프록시 서버를 사용하면 위와 같은 문제점을 해결할 수 있는데, 프록시 서버는 클.. 2023. 5. 25.
Node.js 로 https서버 생성하고PM2로 실행하기(404에러) 📌http로 연결을 해둔 상태에서 시작 https://hayoung-dev-story.tistory.com/30 [윈도우] AWS EC2인스턴스 생성 및 서버 배포(Nginx, PM2),403 forbidden 해결 방법 AWS에서 EC2 인스턴스 생성합니다. 이름을 적고 원하는 운영체제 선택 프리티어 사용가능으로 된 인스턴스로 사용 윈도우에서 인스턴스에 접근하기 위해서 PuTTY를 사용하는데 이 PuTTY로 인스턴스 hayoung-dev-story.tistory.com (Node.js 기준) 웹서버에서 SSL인증서를 등록해서 HTTPS를 사용하려면 https 모듈을 사용해야한다. 서버를 실행시키는 파일에서 https로 서버를 만들어주면 된다. (보통 app.js ) 기존 코드 (HTTP) //서버연결 .. 2023. 5. 25.
NGINX로 프론트서버에 SSL인증서 등록하기 📌http로 연결을 해둔 상태에서 시작 https://hayoung-dev-story.tistory.com/30 [윈도우] AWS EC2인스턴스 생성 및 서버 배포(Nginx, PM2),403 forbidden 해결 방법 AWS에서 EC2 인스턴스 생성합니다. 이름을 적고 원하는 운영체제 선택 프리티어 사용가능으로 된 인스턴스로 사용 윈도우에서 인스턴스에 접근하기 위해서 PuTTY를 사용하는데 이 PuTTY로 인스턴스 hayoung-dev-story.tistory.com NGINX의 설정파일에서 SSL인증서를 등록할 수 있다. NGINX의 설정파일 경로 etc/nginx/nginx.conf SSL 인증서를 다운받으면 총 3개의 파일이 나오는데 (crt파일 2개, key 1개) 두개의 .crt 파일을 합쳐.. 2023. 5. 25.
[윈도우] AWS EC2인스턴스 생성 및 서버 배포(Nginx, PM2),403 forbidden 해결 방법 AWS에서 EC2 인스턴스 생성합니다. 이름을 적고 원하는 운영체제 선택 프리티어 사용가능으로 된 인스턴스로 사용 윈도우에서 인스턴스에 접근하기 위해서 PuTTY를 사용하는데 이 PuTTY로 인스턴스에 접근할때 키페어의 경로가 사용되기때문에 키페어를 잘 보관해야합니다. 키페어의 이름을 key-value와 같이 입력하고 프라이빗 키 파일 형식에서는 PuTTY로 사용하기 위해 .ppk를 선택합니다. 네트워크를 선택하고 인스턴스 시작을 누르면 인스턴스가 생성됩니다. 인스턴스를 생성하면 IPv4 퍼블릭 IP에서 ip주소를 확인할 수 있습니다. 이제 PuTTY를 사용해서 인스턴스에 접근합니다. 먼저 PuTTY를 다운로드하고 설치합니다. PuTTY Key Generator를 사용하여 새 키페어를 생성합니다. 이를 .. 2023. 5. 25.
[회고] Ticket Want It(티켓원잇) 📝프로젝트 소개 프로젝트 이름 : Ticket want It (티켓원잇) 제작 기간 : 2023.04.17 ~ 2023.05.22 팀 구성 : 6명 (프론트엔드 3명 , 백엔드 3명) 담당 포지션 : 백엔드(팀원) 구조 기술 스택 스키마 📌전체 기능 일반 사용자 관리자 유저 관련 기능 로그인, 회원가입, 회원정보 CRUD, 이메일 인증, 임시 패스워드 발급 유저조회 및 수정, 검색 상품 관련 기능 상품 목록 및 상품 상세 정보 조회 상품CRUD,카테고리CRUD 주문 관련 기능 장바구니에 상품 추가, 장바구니 목록 및 개별 또는 전체 상품 구매 주문정보 조회 및 상태 관리 📌내가 구현한 기능 설명 라우터 POST : /api/user → 회원가입 GET : /api/user→ 회원정보 상세보기 PUT: /.. 2023. 5. 15.
JWT토큰 인증(Local Storage) Authorization Header로 jwt토큰을 주고받는 방식의 특징 jwt토큰의 데이터를 클라이언트에서 저장 세션관리가 필요없음 JWT토큰을 사용해서 인증을 검증하는 방식은 다음과 같이 설계할 수 있다. 정보가 일치하면 JWT토큰 발급 const secret = "비밀키: 단순하고 짧게해놓으면 보안 이슈가 생길수 있으므로 주의" function setUserToken(user,isOnlyAccess){ //isOnlyAccess가 참일때: access토큰만 발급, 거짓일때: access,refresh 둘다 발급 const accessPayload = { shortId: user.shortId, name: user.name, email: user.email, profileImage: user.prof.. 2023. 5. 15.