반응형

Knowledge/Trouble Shooting 13

Health checks failed with these codes: [404]

☀️문제 상황 (1)AWS에서 EC2를 생성하고 ELB를 생성하여 80 포트로 (nginx)로 타겟 그룹을 설정하였다.Load Balancer DNS 이름으로 접근하려고 할 때  위와 같은 문제가 발생했다. 로드 밸런싱 -> 대상 그룹으로 가서 대상을 확인했더니 상태 확인에 Unhealthy로 빨간불이 들어왔다.  ✅ 첫번째 문제 해결[변경 전] [변경 후] 💡 문제 발생 이유상태 검사 설정에서 입력한 경로에 요청을 보내고 해당 응답을 확인하여 Health Check의 상태를 결정한다.즉, [변경 전] 사진에서 경로가 /actuator/health로 설정되어 있지만 현재 내가 AWS에 올린 서버는 테스트 겸 올린 것이기 때문에  존재하지 않는 경로이다. 존재하지 않는 경로이기 때문에 성공 코드로 설정한..

Error creating bean with name 'jpaAuditingHandler': Cannot resolve reference to bean 'jpaMappingContext' while setting constructor argument

❓문제 상황 테스트 실행 시 에러가 발생했다. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaAuditingHandler': Cannot resolve reference to bean 'jpaMappingContext' while setting constructor argument JpaAuditingHandler 빈이 생성될 때 발생하는 에러이다. - 참고자료: https://velog.io/@suujeen/Error-creating-bean-with-name-jpaAuditingHandler EnableJpaAuditing -> JPA 관련 빈으로 @WebMvcTest 어노테이션을 붙인..

@AuthenticationPrincipal 에 null 값이 들어오는 에러

❓문제 상황 자꾸 @AuthenticationPrincipal 어노테이션에 null 값이 들어와 NullPointerException 에러가 발생하는 것이였다. 💡 디버깅 과정  위의 과정에서 jwtTokenProvider.getAuthentication(token); 을 통해 생성된 authentication 객체에정상적으로 값이 생성되는 것을 볼 수 있다. 따라서SecurityContextHolder.getContext().setAuthentication(authentication);메서드도 정상적으로 실행되었다.  AuthenticationPrincipal 어노테이션을 통해 얻은 객체 User이 null이 되었다.따라서 @AuthenticationPrincipal 어노테이션을 천천히 따라가 보았다..

JWT 토큰 사용 시 인증이 되지 않았다는 문제 발생

🚨 문제로그인은 정상적으로 작동하여 JWT accessToken까지 정상적으로 생성되었다.하지만 생성된 AccessToken을 사용하려고 할 때 문제가 발생했다.console창에도 어떠한 로그가 나타나지 않았고 filter에서 걸러진다는 것을 짐작했다. Debug를 하면서 천천히 다시 과정을 따라가 보았다.  더보기UsernamePasswordAuthenticationToken [Principal= eyJhbGciOiJIUzM4NCJ9.eyJzdWIiOiJ0ZXN0MSIsImF1dGgiOiJVU0VSIiwiaWF0IjoxNzE5NTYwMjIzLCJleHAiOjE3MTk1NjM4MjN9.ZyzX9XetqAteu81p2K3N5vYTWHmuBorxODTZ_piHYJreGKseNk096O5hRUGKP9jm, ..

순환 참조(Circular References) 해결

🤣 문제 상황***************************APPLICATION FAILED TO START***************************Description:The dependencies of some of the beans in the application context form a cycle: jwtAuthenticationFilter defined in file [C:\Users\admin\IdeaProjects\exercise_board\build\classes\java\main\org\board\exercise_board\user\Security\JwtAuthenticationFilter.class]┌─────┐| jwtTokenProvider defined in f..

java.lang.StackOverflowError: null

⚡문제 상황더보기더보기2024-06-10T16:12:19.324+09:00 ERROR 12272 --- [exercise_board] [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed: java.lang.StackOverflowError] with root cause java.lang.StackOverflowError: null at org.board.exercise_board.user.domain.model.User.getPassword(Us..

웹소켓 STOMP 에러 트러블 슈팅

😓 문제 상황Client 측에서 웹소켓 연결 요청을 보낼 때 EC2에 올라간 서버 로그에서 문제 발생주요 에러 내용 : Handshake failed due to invalid Upgrade header:                       null2024-05-25T08:47:36.638Z ERROR 32370 --- [nio-8080-exec-6] o.s.w.s.s.s.DefaultHandshakeHandler : "Handshake failed due to invalid Upgrade header: null"2024-05-25T08:47:36.702Z INFO 32370 --- [nio-8080-exec-5] o.springdoc.api.Abs..

java.lang.NullPointerException: Cannot invoke "org.board.exercise_board.User.Security.CustomUserDetails.getUsername()" because "customUserDetails" is null

😂 문제 상황Spring Security + JWT 를 사용하여 현재 로그인이 되어 있는 사용자에 대한 정보를 얻기 위해 @AuthenticationPrincipal 어노테이션을 사용했다.하지만 해당 사용자에 대한 정보는 넘어오지 않고 Null 값만 넘어왔다. 문제의 그 Controller 이다.  내가 구현한 코드는 아래와 같다. JwtAuthenticationFilter.java@RequiredArgsConstructor@Componentpublic class JwtAuthenticationFilter extends GenericFilterBean { private final JwtTokenProvider jwtTokenProvider; public static final String TOKE..

반응형