Nginx를 Tomcat 앞단에 두는 이유

2025. 12. 3. 13:12·linux

# 리버스 프록시 장점

https://buly.kr/NkwbqQ

Tomcat에 바로 접속해도 되는데 왜 굳이 Nginx를 앞단에 두고 리버스 프록시 구조로 구성할까?

리버스 프록시는 단순한 중계 서버가 아니라 보안, 성능, 확장성, 운영 안정성을 모두 향상시킨다.


# 보안 강화

Tomcat(172.17.22.20:8080)은 애플리케이션 서버(WAS)로 외부에 직접 노출되면 보안 위험이 크다.
Nginx(172.17.22.10)를 앞단에 배치하면 외부 사용자는 80번 포트의 Nginx만 접근 가능하고 Tomcat은 내부망에서만 접근 가능한 구조가 된다.
이로 인해 Tomcat의 실제 IP와 포트는 외부에 노출되지 않으며, 방화벽 뒤로 안전하게 숨길 수 있다.

외부 사용자  →  Nginx (80포트)
                     ↓
                Tomcat (내부 8080포트, 외부 비공개)

# 정적 파일 처리 성능 향상

HTML, CSS, JavaScript, 이미지와 같은 정적 파일은 Nginx가 빠르게 처리한다.
Tomcat은 JSP, Servlet과 같은 동적 요청 처리에 최적화된 서버이므로 정적 리소스까지 함께 처리하면 불필요한 부하가 발생한다.

Nginx는 C 언어 기반의 비동기 이벤트 처리 구조를 사용한다.
따라서 대량의 정적 파일 요청을 매우 효율적으로 처리하고 캐싱할 수 있으며 전체 시스템 성능을 크게 향상시킬 수 있다.


# 로드 밸런싱(부하 분산)

https://buly.kr/4xYe74R

Nginx는 여러 대의 Tomcat 서버로 요청을 자동 분산할 수 있다.
예를 들어 Tomcat 서버를 3대로 구성하면 Nginx가 요청을 순차적으로 각 서버에 나누어 전달한다.

Nginx  
 → Tomcat1:8080  
 → Tomcat2:8080  
 → Tomcat3:8080

이 구조를 리버스 프록시 + 로드 밸런싱 구조라고 하며 트래픽 증가에도 안정적으로 시스템을 확장할 수 있다.


# 접속 제어 및 캐싱 기능 제공

특정 IP만 접근 가능하도록 제한
요청 속도 제한(Rate Limit)
특정 페이지 캐싱 처리

예를 들어 /admin 경로는 특정 관리자 IP에서만 접근하게 제한할 수 있고
자주 요청되는 페이지는 캐시로 처리하여 응답 속도를 대폭 향상시킬 수 있다.


# 확장성과 유연성 확보

Nginx를 앞단에 두면 뒤쪽의 WAS(Tomcat, Flask, Node.js 등)를 변경하더라도
외부에서 접속하는 주소는 그대로 유지할 수 있다.

즉 내부 서버 구조가 바뀌어도 클라이언트는 이를 인식하지 못하며
운영 중단 없이 서버 구조 변경이 가능해지는 장점이 있다.

'linux' 카테고리의 다른 글

[3-Tier] Zabbix Agent 설치  (0) 2025.12.03
[3-Tier] MONITORING VM  (0) 2025.12.03
[3-Tier] WEB VM  (0) 2025.12.03
[3-Tier] WAS-DB 연동  (0) 2025.12.03
[3-Tier] WAS VM  (0) 2025.12.03
'linux' 카테고리의 다른 글
  • [3-Tier] Zabbix Agent 설치
  • [3-Tier] MONITORING VM
  • [3-Tier] WEB VM
  • [3-Tier] WAS-DB 연동
차하비
차하비
chadev 님의 블로그 입니다.
  • 차하비
    chadev
    차하비
  • 전체
    오늘
    어제
    • 분류 전체보기 (47)
      • kubernetes, k8s (3)
      • docker (3)
      • cloud (6)
      • linux (12)
      • spring (7)
      • java (11)
      • error (4)
      • 자격증 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    k8s
    Java
    모놀리식
    Join
    Kubernetes
    Spring
    비트 연산
    KUBECTL
    URI
    OOP
    thread
    진법
    docker
    monolithic
    restAPI
    url
    객체지향
    클래스
    HTTP
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
차하비
Nginx를 Tomcat 앞단에 두는 이유
상단으로

티스토리툴바