From a60aa41338f712f280e06c7f92c6d1436cbdef89 Mon Sep 17 00:00:00 2001 From: Desktop Date: Thu, 14 May 2026 16:12:41 +0900 Subject: [PATCH] fix(config): remove spring.main.lazy-initialization from prod profile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit prod 프로파일에 설정된 spring.main.lazy-initialization=true 때문에 사용자 정의 SecurityFilterChain 빈이 lazy 초기화되어, Spring Boot의 SpringBootWebSecurityConfiguration이 @ConditionalOnMissingBean(SecurityFilterChain.class) 평가 시 빈을 감지하지 못하고 폴백 보안(inMemoryUserDetailsManager + HTTP Basic + CSRF)을 활성화. 결과적으로 우리 SecurityConfig의 permitAll 설정이 무시되어 /api/auth/* 경로가 모두 403을 반환했음. 메모리 스파이크 완화 의도는 lazy-init이 아닌 Hibernate plan cache 한도 / Tomcat 스레드 한도 / OSIV 비활성화 등으로 후속 대응한다. --- src/main/resources/application-prod.properties | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties index 811c6bf4..260a8823 100644 --- a/src/main/resources/application-prod.properties +++ b/src/main/resources/application-prod.properties @@ -26,9 +26,11 @@ aws.s3.secret-key=${AWS_S3_SECRET_KEY:} spring.jpa.show-sql=false spring.jpa.hibernate.ddl-auto=none -# Lazy Initialization: 시작 시 모든 빈을 한 번에 초기화하지 않고 요청 시 초기화 -# Hibernate 6 ANTLR4 파서의 시작 시 메모리 스파이크 방지 -spring.main.lazy-initialization=true +# spring.main.lazy-initialization 제거 (#189) +# Spring Security의 SecurityFilterChain 자동 구성이 lazy 초기화 상태에서 +# 사용자 정의 SecurityFilterChain 빈을 감지하지 못해 폴백 보안(inMemoryUserDetailsManager)이 +# 활성화되는 문제가 발생했다. 메모리 스파이크가 다시 문제될 경우 lazy-init이 아닌 +# Hibernate plan cache 한도 / Tomcat 스레드 한도 / OSIV 비활성화 등으로 대응한다. # Database Configuration - AWS RDS MySQL # 반드시 환경변수로 주입: DB_HOST, DB_USERNAME, DB_PASSWORD