413 Error - Spring Boot 프로젝트의 웹서버 별 파일 업로드 크기 제한 설정
이슈 내용 413 Payload Too Large (Request Entity Too Large) 발생 원인 기본적으로 웹 서버는 리소스 사용량을 고려하여 클라이언트가 서버에게 전송하는 최대 데이터 크기를 제한하고 있다. 서비스를 운영하다보면 파일을 업로드해야 하는 상황이 발생하는데, 이 때 전송하려는 최대 데이터 크기가 ...
Backend Programmer, Spring Boot, Java, Kotlin. and I consider it important to record. Such as TIL and Blog.
이슈 내용 413 Payload Too Large (Request Entity Too Large) 발생 원인 기본적으로 웹 서버는 리소스 사용량을 고려하여 클라이언트가 서버에게 전송하는 최대 데이터 크기를 제한하고 있다. 서비스를 운영하다보면 파일을 업로드해야 하는 상황이 발생하는데, 이 때 전송하려는 최대 데이터 크기가 ...
일반적으로 Redis는 저장한 데이터의 TTL이 만료되어도 아무것도 알려주지 않는다. 하지만 Keyspace notifications (키 공간 알림) 설정을 키면 keyevent 채널에서 expired 이벤트를 발행한다. keyevent 채널이란? Redis의 Keyspace notifications을 켜면, 키에 어떤 ...
배경 Spring에서 RedisTemplate를 활용해 Redis 저장소에 데이터를 저장∙조회할 땐 RedisTemplate 설정에서 정의한 대로 Key:Value 값을 직렬화∙역직렬화한다. RedisTemplate<String, ExampleObject>와 같이 Value 값을 특정한 타입으로 정의한 경우에는 문...
AWS Chime SDK를 활용해 화상통화 서비스 중 화상통화방 참여 기능을 한번 구현해보자. 기술 스택 예제에서 활용한 기술 스택 기준 백엔드: Kotlin + Spring Boot Spring Boot v3.0.6 Kotlin v1.8.21 Java v17 ...
화상통화 서비스는 WebRTC 기술을 기반으로 동작한다. 화상통화 기능을 구현하기 위해서는 신호 교환 (Signaling), 세션 관리, TURN/STUN 서버 지원 부분이 필요하다. 일반적인 화상통화 서비스 구성 1. 신호 교환 (Signaling) 서버 구현 WebRTC 피어 간 직접 연결을 위해서는 SDP (세션 기술...
이번 포스팅에서는 Spring Boot 프로젝트에서 STOMP 기반 웹소켓으로 소켓 구독 해제 및 연결 해제 이벤트를 처리하는 방법에 대해 정리해보고자 한다. 들어가기 전에, STOMP? STOMP (Simple Text Oriented Messaging Protocol) 는 메시징 프로토콜 중 하나로, 텍스트 기반 프레임...
Spring Boot 애플리케이션을 개발할 때 간혹 애플리케이션이 시작되면서 특정 이벤트를 실행해야 하는 경우가 있다. Spring Boot에서 이러한 작업을 처리하는 2가지 방법을 소개하겠다. 1. CommandLineRunner 또는 ApplicationRunner CommandLineRunner 또는 Applicati...
jakarta.persistance 패키지에는 @Convert 라는 어노테이션이 있다. 해당 어노테이션을 활용하면 JPA에서 특정 컬럼에 대해 DB 테이블에 데이터를 저장할 때 내용을 암호화하고, DB에서 데이터를 조회해올 때는 내용을 복호화하여 조회해올 수 있다. 이번 포스팅에서는 그 방법들을 Spring Data JPA...
AWS ElastiCache 캐싱 목적이나, 분산락, Pub/Sub 기능을 위해 Redis를 많이 사용하곤 한다. 그런데 다중 서버 환경에서 Redis를 사용해야 한다면 어떻게 설계해야 할까? 아마 EC2 같은 하나의 서버를 다중 서버 네트워크 망에서 개설하고, 해당 서버에서 Redis를 띄울 것이다. 물론 위와 같은 방법...
회사에서 새로운 도메인을 구매하고, https 요청을 할 수 있도록 처리해야 하는 상황이 있었다. 도메인 구매는 가비아에서 미리 구매했고, AWS Route 53에서 호스팅을 관리하고자 한다. Certificate Manager에서 인증서 요청 먼저 인증서를 새로 발급받아야 하니 AWS Certificate Manager ...