
'Nginx로 SSL과 Reverse Proxy 기능을 구현해보자' 라는 말을 처음 들었을 때 내 표정이 어땠는지 아직도 생생하다.
웹 서버를 구축하면서 뭐? 뭘 하자고요? 다시는 이런 의문이 안 생기게(생겨도 다시 배우게) 지금부터 정리해보자.
Nginx는 웹 서버의 한 종류로, 사용자(클라이언트)의 요청을 가장 앞에서 받아 처리하는 소프트웨어이다.
✔️ Nginx의 특장점
기존의 전통적인 웹 서버(예: Apache 초기 모델)는 사용자 한 명이 접속할 때마다 별도의 일꾼(프로세스 또는 쓰레드)을 할당했다. 이 방식은 동시 접속자가 수백 명만 되어도 서버가 과부하로 멈추기 쉬웠다.
Nginx는 이와 달리 비동기/이벤트 기반(Event-Driven) 방식으로 작동한다. 한 명의 응대가 끝날 때까지 기다리지 않고, 여러 고객의 요청을 동시에 처리하도록 스케쥴링하는 것과 같다.
덕분에 Nginx는 매우 적은 자원(메모리)를 사용하면서도 수만 건의 동시 접속을 효율적으로 처리할 수 있는 고성능 웹 서버로 자리 잡았다.
✔️ Nginx의 주요 역할
Nginx는 단순한 웹 서버를 넘어, 우리가 구현한 것처럼 복합적인 역할을 수행한다.
Nginx는 자체 코드에 SSL/TLS 통신을 처리하는 모듈과 Reverse Proxy 기능을 수행하는 로직을 포함하고 있으므로, "Nginx라는 서버를 사용해서 SSL 기능과 Reverse Proxy 기능을 구현한다"고 이해하는 것이 가장 정확하다.
웹사이트 접속의 기본 프로토콜인 HTTP는 데이터를 암호화하지 않은 평문으로 주고받는다.
만약 해커가 통신 중간을 가로채면 주고받은 모든 정보(로그인 정보, 결제 비밀번호 등)가 그대로 노출된다.
✔️ SSL/TLS의 역할
SSL(Secure Sockets Layer)과 그 후속 기술인 TLS(Transport Layer Security)는 이러한 위험을 막기 위해 개발되었다.
이 기술은 웹 서버와 클라이언트(브라우저) 사이에 오가는 모든 데이터를 암호화한다.
http:// 대신 https://로 시작하며, 브라우저에 자물쇠 모양 아이콘이 표시됨
나는 리버스 프록시를 들으면 왤캐 여우가 생각날까
프록시(Proxy)는 '대리인'이라는 뜻이다. 리버스 프록시는 서버의 대리인 역할을 수행한다.
리버스 프록시(Nginx)는 이 실제 서버 앞에 방패처럼 서 있다.
✔️ 리버스 프록시의 주요 장점

Nginx는 고성능 웹 서버이자 리버스 프록시로, 사용자 요청을 받아 SSL/TLS 암호화 통신을 처리한 후, 실제 애플리케이션 서버(8080포트)를 숨기고 안전하게 요청을 전달하는 서버 보안의 핵심 역할을 수행하는 웹 서버이다!
참고 출처:
https://www.cloudflare.com/ko-kr/learning/cdn/glossary/reverse-proxy/
https://www.cloudflare.com/ko-kr/learning/ssl/what-is-ssl/