You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
HealthCheckController(global/handler/HealthCheckController.java:8-13)가 애플리케이션 포트(9000)의 /actuator/health를 직접 정의해서, 실제 DB 연결 등 애플리케이션 상태와 무관하게 항상 {"status":"UP"}을 반환하고 있음.
반면 Spring Actuator가 관리 포트(9001, prod/dev)에서 제공하는 표준 /actuator/health는 DB 커넥션 등을 반영한 실제 상태를 보여주는데, 커스텀 컨트롤러가 앱 포트에서 같은 경로를 가로채면서 두 개의 서로 다른 /actuator/health 응답이 공존하는 상태.
로드밸런서나 컨테이너 헬스체크가 앱 포트(9000)의 /actuator/health를 보고 있다면, 실제 장애(DB 다운 등) 상황에서도 "정상(UP)"으로 응답해 장애 감지가 안 될 위험이 있음.
기대 동작: /actuator/health는 Spring Actuator 기본 헬스 인디케이터(DB 연결 등)를 그대로 반영해야 하며, 하드코딩된 UP 응답을 제거해야 함.
영향 범위: prod/dev EC2(관리 포트 9001과 앱 포트 9000의 헬스체크 이중 구조), local 프로필(관리 포트 분리 없이 9000 공유)
Fix Report
고쳐야 할 사항
HealthCheckController(global/handler/HealthCheckController.java:8-13)가 애플리케이션 포트(9000)의/actuator/health를 직접 정의해서, 실제 DB 연결 등 애플리케이션 상태와 무관하게 항상{"status":"UP"}을 반환하고 있음./actuator/health는 DB 커넥션 등을 반영한 실제 상태를 보여주는데, 커스텀 컨트롤러가 앱 포트에서 같은 경로를 가로채면서 두 개의 서로 다른/actuator/health응답이 공존하는 상태./actuator/health를 보고 있다면, 실제 장애(DB 다운 등) 상황에서도 "정상(UP)"으로 응답해 장애 감지가 안 될 위험이 있음./actuator/health는 Spring Actuator 기본 헬스 인디케이터(DB 연결 등)를 그대로 반영해야 하며, 하드코딩된 UP 응답을 제거해야 함.첨부자료