목록 보기
Nginx 프록시로 에러 화면 통합하기
데브옵스

Nginx 프록시로 에러 화면 통합하기

넥스트리
넥스트리
2026년 9월 11일

두줄요약

Nginx 프록시 계층에서 에러 화면을 통합하고 정보 노출을 줄이는 방법을 정리했습니다. React API 요청까지 고려해 HTML과 JSON 에러 응답을 분기하는 설계도 설명했습니다.

문제 상황

  • Nginx-Tomcat-Spring Boot 구조에서 장애 계층에 따라 Whitelabel, Tomcat 기본, Nginx 기본 에러 화면이 제각각 노출되는 문제
  • 정보 노출과 서버 핑거프린팅 위험, 그리고 React SPA에서 HTML 에러 응답을 JSON으로 파싱하며 발생하는 흰 화면 문제

원인 분석

  • 애플리케이션 내부 예외 처리로는 JVM 종료, 톰캣 자원 고갈, 롤링 업데이트 순단 같은 인프라성 장애를 다룰 수 없는 한계
  • Nginx가 백엔드 응답 본문을 그대로 전달하면 내부 스택트레이스와 상태 정보가 외부로 노출될 가능성
  • API 요청과 일반 브라우징 요청을 같은 에러 응답으로 처리할 때 프론트엔드 파싱 오류 발생

해결 방법

  • Nginx의 proxy_intercept_errors로 3xx 이상 응답을 가로채고 error_page로 내부 재라우팅하는 중앙 에러 제어 구성
  • internal 지시어와 정적 에러 파일 분리로 외부 직접 접근을 차단하고, 백엔드 응답 바디를 폐기해 정보 노출을 방지
  • map과 Accept 헤더 분기로 HTML 화면과 JSON 에러 응답을 나눠 React API 호출의 흰 화면 문제를 방지

다음 읽기

#Spring Boot 주제를 이어서 읽기

Keycloak 토큰 교환으로 인증 시스템 구축

Keycloak 토큰 교환과 구형 V1 대행 방식을 이용해 외부 파트너 연동 인증 구조를 구성한 사례입니다. 클라이언트 신뢰 관계 설정과 자주 발생하는 에러 대응 방법도 함께 정리했습니다.

넥스트리
넥스트리
백엔드

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...