반응형

Backend Dev. 6

WHY: Nginx 용량 재한, 왜 사진이 1MB 이상이면 업로드가 되지 않을까?

프로젝트를 진행하던 도중 클라이언트를 개발하는 프런트개발 쪽에서 아래와 같은 질문이 들어왔다. 문괜님 1MB 이상 사진이 안 올라가지는데요? 그 당시 이런 질문에 답하고 해결하기 위해 아래와 같은 생각을 했다. 이미지는 지금 현재 MultipartFile인데 Spring에서 이와 관련한 용량 재한이 있는 걸까? 모든 요청이 Nginx의 Web Server를 통해서 들어오고 있는데 그와 관련한 재한이 있는 걸까? 그럼 클라이언트에서 사진을 압축해서 보내면 되는 거 아닌가? 첫 번째는 간단하게 application.properties에 들어가 확인이 가능했고 아래와 같이 금방 확인이 가능했다. 여기서 위에 보이는 max-file-size는 Multipart와 관련해서 최대 사이즈를 설정하는 부분이다. 그리고..

Backend Dev./Why? 2023.12.15

Spring Boot 개발노트: 프로젝트 HTTPS 적용 2편

Spring Boot 개발 노트 : 프로젝트 HTTPS 적용 1 Spring Boot 개발 노트 : 프로젝트 HTTPS 적용 1 Spring Boot의 경우 8080번 Port를 사용하고 React 같은 경우 3000번 Port를 사용한다. HTTP의 경우 80번 Port를 사용하고 SSH의 경우 22번 포트를 사용한다. 그러면 HTTPS의 경우 몇 번 Port를 사용할까? 그리고 여 youcanbeable.tistory.com 도대체 Nginx는 뭘까요? 도대체 Nginx는 뭘까요? HTTPS를 적용하기 위해서 그리고 웬만한 Backend 개발에 있어 Nginx는 한 번쯤은 무조건 들어봤을 것이다. 추가적으로 WAS, Web Server와 HTTPS관련해서 무조건 들어봤을 것이다. 그러면 도대체 WAS..

Spring Boot 개발 노트: S3를 이용해 프로젝트에 이미지관련 CRUD 구현 2편 - Spring Boot 설정

S3를 이용해 프로젝트에 이미지 관련 CRUD 추가하기 - S3 & IAM 설정 Spring Boot 개발 노트: S3를 이용해 프로젝트에 이미지관련 CRUD 추가하기 - S3 & IAM 설정 많은 프로젝트에서 이미지가 필요하다. 그런 이미지를 저장하고, 읽어오고, 수정하고 마지막으로 삭제하기 위해서는 어떻게 해야 할까? 생각해봐야 하는 것들 먼저 이미지가 어떻게 저장되는지 youcanbeable.tistory.com 저번 편을 통해서 현재 프로젝트가 이미지를 처리하기 위해 아래와 같이 준비 됐다. 이미지가 실제로 담길 저장소 이미지가 담긴 저장소를 쓸 권한 프로젝트와 저장소 연결 프로젝트 내의 이미지 관련 요청 처리 구현 그럼 여기서부터 프로젝트의 이미지 처리를 위한 프로젝트 설정과 요청처리를 구현해 ..

Spring Boot 개발노트: application.properties .gitignore에 추가

일단 application.properties를 gitignore에 추가하는 것은 안된다! 대신 application.properties에 다른 application-something.properties를 import 해 오고 해당 properties를 gitignore에 추가하면 된다. 그래서 아래와 같은 Step을 밟게 될 것이다. application-something.properties 생성 및 입력 application.properties 수정 및 테스트 gitignore에 추가 및 테스트 먼저 resources 디렉터리에서 우클릭 혹은 cmd+n을 눌러 아래와 같이 new 탭에서 Resource Bundle을 찾는다. 그다음 application-test라는 이름의 properties 파일을 ..

Spring Boot 개발 노트 : 프로젝트 HTTPS 적용 1

Spring Boot의 경우 8080번 Port를 사용하고 React 같은 경우 3000번 Port를 사용한다. HTTP의 경우 80번 Port를 사용하고 SSH의 경우 22번 포트를 사용한다. 그러면 HTTPS의 경우 몇 번 Port를 사용할까? 그리고 여기서 말하는 Port는 무엇일까? 마지막으로 HTTPS와 HTTP의 차이 그리고 어떻게 우리가 만든 프로젝트에 HTTPS를 적용할 수 있을까? 먼저 Port 번호란 무엇일까? 서버와 클라이언트 사이 혹은 서버와 서버 사이의 통신을 할 때 사용 되는 요청과 응답이 지나가는 '도로'라고 생각하면 된다. 정해진 포트로 해당하는 요청이 들어오고 포트번호는 중복될 수 없다. IP주소와는 다른 개념이다. IP 주소는 나의 서버가 포함된 기기의 위치를 표시한다면 ..

Spring Boot 개발 노트: S3를 이용해 프로젝트에 이미지관련 CRUD 추가하기 - S3 & IAM 설정

많은 프로젝트에서 이미지가 필요하다. 그런 이미지를 저장하고, 읽어오고, 수정하고 마지막으로 삭제하기 위해서는 어떻게 해야 할까? 생각해봐야 하는 것들 먼저 이미지가 어떻게 저장되는지를 프로필사진 등록을 예로 생각해 보자. 프로필 사진이 등록될 때 아래와 같은 과정이 있다. 프로필 사진 등록하기 클릭 프로필 사진을 컴퓨터에서 찾고 선택한 이미지 저장 그러면 클라이언트에서 선택한 이미지는 서버로 오게 되는데 이 이미지를 S3와 같은 저장소에 저장을 해야 한다. 그리고 S3에서 이미지를 저장하면 이미지를 조회할 수 있는 URL이 반환이 된다.(Image URL이다.) 그리고 우리는 반환된 이미지 URL을 Database에 저장을 하면 된다. 그럼 아래와 같은 순서로 작동하게 만들면 된다. 클라이언트에서 들어..

반응형