개발 공부/서버

[서버 기초] 리버스 프록시란? Nginx는 왜 항상 등장할까?

악마의 개발자 2025. 4. 16. 20:00
반응형


💡 “도메인은 하나인데, 서버는 여러 개일 땐 어떻게 해?”

요즘 웹 서비스는 백엔드 서버, 프론트 서버, 이미지 서버, DB 서버
기능별로 서버가 나뉘어져 있는 경우가 많아요.

그런데 질문! ❓

“사용자는 하나의 도메인으로 접속하는데,
그 요청들을 어떻게 각각의 서버로 나눠줄 수 있을까?”

정답은 바로 리버스 프록시(Reverse Proxy)입니다!


🚪 리버스 프록시란?

리버스 프록시(Reverse Proxy)

사용자의 요청을 받아서 내부의 실제 서버로 전달해주는 중간 관리자입니다.

 

📌 쉽게 말해:

  • 사용자는 항상 리버스 프록시에게 요청
  • 리버스 프록시가 요청을 알맞은 서버로 전달
  • 실제 서버가 응답 → 프록시가 사용자에게 전달

일종의 입구 관리자 역할이에요!


🔁 리버스 프록시의 구조

[사용자] → [리버스 프록시 (Nginx)] → [백엔드 서버]
                                     → [프론트엔드 서버]
                                     → [정적 파일 서버]

예를 들어,

  • /api 요청은 백엔드 서버로
  • /images 요청은 이미지 서버로
  • 나머지는 프론트엔드 서버로 보내는 식이에요!

🌐 프록시 종류 비교

종류 설명 위치
프록시(Proxy) 클라이언트 측에서 외부 요청 중계 사용자의 앞
리버스 프록시 서버 측에서 요청을 내부 서버로 전달 서버의 입구

📌 우리가 웹 개발에서 흔히 말하는 프록시는
대부분 리버스 프록시입니다!


🧱 Nginx가 대표적인 리버스 프록시

Nginx는 빠르고 가벼운 웹서버이자 리버스 프록시 서버예요.

  • 트래픽 분산 (로드 밸런싱)
  • 포트 관리
  • SSL(HTTPS) 처리
  • 정적 파일 서빙
  • API 요청 라우팅

모든 걸 다 해낼 수 있어서
대부분의 실무 서비스에 Nginx가 들어갑니다.


📁 Nginx 설정 예시

server {
  listen 80;

  location /api/ {
    proxy_pass http://localhost:4000;
  }

  location / {
    proxy_pass http://localhost:3000;
  }
}

💡 위 설정은:

  • /api → 백엔드(Node.js, 포트 4000)
  • / → 프론트(React, 포트 3000)

이렇게 요청을 나눠주는 거예요!


✅ 리버스 프록시의 장점

장점 설명
📌 보안 강화 실제 서버를 외부에 노출하지 않음
📌 SSL 인증서 관리 Nginx에서 통합 처리 가능
📌 포트 통합 80, 443 포트로 정리해 사용자 편의 증가
📌 로드 밸런싱 다수의 서버에 요청을 분산 가능
📌 유연한 라우팅 API, 이미지, 정적 파일 등 요청 분리 가능

🧠 정리 한마디!

  • 리버스 프록시는 사용자 요청을 내부 서버로 중계해주는 역할
  • 대표적인 리버스 프록시 도구는 Nginx
  • 실무에서는 보안, 라우팅, HTTPS 적용을 위해 꼭 사용함
  • 하나의 도메인으로 여러 서비스를 연결할 수 있는 핵심 기술!

📌 다음 예고: 18편 – “웹소켓(WebSocket)이란? 실시간 채팅은 어떻게 구현할까?”

  • HTTP와는 뭐가 다를까?
  • 실시간 통신이 가능한 원리
  • 웹소켓 vs SSE vs 폴링 차이
 

[서버 기초] WebSocket이란? 실시간 채팅과 알림의 비밀

💡 “채팅이 바로바로 뜨는 건 어떻게 가능할까?”보통 HTTP 통신은 이렇게 동작하죠.요청 → 응답 받고 끝다시 요청 → 또 응답그런데 카카오톡이나 유튜브 라이브 채팅처럼“누가 말하자마자

it-afternoon.tistory.com

 

반응형