prod 환경에서 redis 관련 500 오류
상황:
local 개발환경에서는 redis 관련 설정을 yml파일에서만 진행했는데
prod 개발환경에서 테스트 할때 redis refresh 토큰 발급 단계에서 오류 발생
해결:
버전에 따라 차이는 있지만, redis username + password를 사용하려면, local 환경에서 root를 사용할때와 달리 RedisConfig 파일을 추가해 줘야 한다
따라서, package -----.----.config; 에 RedisConfig 파일을 추가하면서 해결되었다.
package ----.----.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
@Configuration
@Profile("prod")
public class RedisConfig {
@Value("${spring.data.redis.host}") String REDIS_HOST;
@Value("${spring.data.redis.port}") Integer REDIS_PORT;
@Value("${spring.data.redis.username}") String REDIS_USERNAME;
@Value("${spring.data.redis.password}") String REDIS_PASSWORD;
@Bean
public LettuceConnectionFactory redisConnectionFactory() {
RedisStandaloneConfiguration config = new RedisStandaloneConfiguration();
config.setHostName(REDIS_HOST);
config.setPort(REDIS_PORT);
config.setUsername(REDIS_USERNAME);
config.setPassword(REDIS_PASSWORD);
return new LettuceConnectionFactory(config);
}
}
추가로, mongodb가 mongo를 사용하지 않는 userService에서도 로드되는 점도 발견했는데, 프로젝트 루트에 의존성이 들어가 있어서 같이 실행되고 있었던 것이었다.
'트러블슈팅' 카테고리의 다른 글
| 카카오 클라우드 & Kubernetes 환경에 CD 트러블 슈팅 - 5 (2) | 2025.08.12 |
|---|---|
| 카카오 클라우드 & Kubernetes 환경에 CD 트러블 슈팅 - 4 (4) | 2025.08.12 |
| 카카오 클라우드 & Kubernetes 환경에 CD 트러블 슈팅 - 3 (4) | 2025.08.10 |
| 카카오 클라우드 & Kubernetes 환경에 CD 트러블 슈팅 - 2 (2) | 2025.08.10 |
| 카카오 클라우드 & Kubernetes 환경에 CD 트러블 슈팅 - 1 (0) | 2025.08.10 |