전체 글 (14) 썸네일형 리스트형 [BE] 5. 회원 정보에 들어갈 프로필 사진 API 만들기 (AWS / multerS3) 기본적으로 처음에 계획했던 기능 구현을 마치고, 여유 시간이 조금 남아서 다른 기능도 추가해보기로 했다. 여러 기능들 중에서 회원 정보에 들어갈 프로필 사진을 등록하는 API를 만들어보기로 하였다. 1. 배포 서버에 사진을 저장하고 DB에는 경로 저장하기 맨 처음 구상했던 방법은 배포 서버에 저장하는 로직으로 수행하고, DB에는 그 경로를 저장하여 조회 요청을 하면 불러오는 식으로 만들어 보려고 했다. import multer from 'multer'; import path from 'path'; import dotenv from 'dotenv'; dotenv.config(); const upload = multer({ destination(req, file, cb) { cb(null, 'public/i.. [BE] 4. HTTPS 적용하기 서버에 배포를 진행한 뒤 프론트에서 요청을 보냈을 때 CORS 에러가 발생하였다. 원인을 알고보니 크롬 업데이트로 인해 sameSite 정책이 변경되어서 발생하는 것이었다. 이를 해결하기 위해서는 다양한 방법이 있지만 제일 흔한 해결 방법은 https를 적용하는 것이었다. 프로젝트를 진행하면서 도메인을 구매하고 적용시켜보는 것까지 해보고 싶었기 때문에 이 방법을 택하게 되었다. 1. 도메인 구매 - 무료 도메인과 같은 방법도 있지만, 이왕이면 만드는 사이트와 잘 맞는 도메인을 사용하고 싶어 구매하게 되었다. 사이트는 가비아를 이용하였다. 2. Route 53에서 도메인 인증하기 - AWS에서 제공하는 Route 53으로 도메인 영역을 만들어주었다. 이 기능을 사용하면 0.5불 정도의 요금이 청구되는데, .. [BE] OpenAI 401 Error 해결 [문제] ChatGPT에게 질문을 하는 API를 사용하면 401 Error가 떴다. 문제는 local에서 했을 때는 아무 문제가 없었는데 배포한 뒤에 발생한 문제였다. [해결] 환경변수가 설정이 되어 있지 않아서 발생 - local에서는 .env 파일에 저장하고 process.env.{변수명} 이런 식으로 사용했다. 그치만 .env는 gitignore로 처리했기 때문에 jenkins가 github에서 파일을 가져오면 env 파일에 담긴 환경변수들이 없다는 뜻이 된다. ① EC2 서버에 env 파일을 설정 - 이 방법 같은 경우에는, jenkins 안의 docker에서 이미지가 빌드되고 사용되기 때문에 아무런 연관성이 없어 실패했다. ② .env 파일을 그냥 git에다가 같이 업로드 - 일단 임시방편으로 .. 이전 1 2 3 4 5 다음