네트워크 / 보안
엔진엑스(Nginx)
엔진엑스(Nginx)는 정적 파일 제공, 요청 전달, HTTPS 처리를 맡을 수 있는 오픈소스 웹 서버이자 리버스 프록시입니다.
쉬운 설명
웹 서버와 리버스 프록시로 널리 사용하는 오픈소스 서버 소프트웨어.
배경과 쓰임까지 이해하기
조금 더 자세히
엔진엑스(Nginx)는 웹사이트 파일을 제공하고 외부 요청을 내부 앱으로 전달하는 오픈소스 서버 소프트웨어입니다. VPS에서 Node.js 앱이나 여러 Docker 서비스를 운영할 때 앞단의 리버스 프록시로 자주 사용합니다. 예를 들어 인터넷의 80·443 포트로 받은 요청을 `localhost:3000`에서 실행 중인 앱으로 전달할 수 있습니다.
설정 자유도가 높은 대신 설정 파일, HTTPS 인증서, 방화벽을 함께 관리해야 합니다. 한마디로, Nginx는 웹 요청을 받고 분배하는 널리 쓰이는 웹 서버이자 리버스 프록시입니다.
실제로는 이렇게 만나요
Nginx가 80·443 포트에서 요청을 받고, 실제 앱이 실행 중인 `localhost:3000`으로 전달하도록 설정할 수 있습니다.
- 이런 거 할 때 나와요 VPS에서 여러 웹앱을 운영하거나 Node.js 앱 앞에 도메인과 HTTPS를 붙일 때 자주 사용됩니다.
- 이렇게 생겼어요 엔진엑스(Nginx)은(는) Reverse Proxy, Caddy, Server 같은 주변 개념과 함께 문서, 설정 화면, 오류 메시지에서 자주 보입니다.
- 나오는 화면 예시 네트워크 / 보안 작업을 하다가 Reverse Proxy, Caddy, Server를 확인하는 화면
헷갈리기 쉬운 점
설정 파일 문법과 서버 방화벽을 함께 확인해야 합니다. 설정을 바꾼 뒤에는 문법 검사 후 다시 불러오는 편이 안전합니다.
왜 알아두면 좋을까요?
VPS에서 여러 웹앱을 운영하거나 Node.js 앱 앞에 도메인과 HTTPS를 붙일 때 자주 사용됩니다.
Checklist
실제로 볼 때 확인할 것
- 01
요청을 받을 도메인을 정한다
- 02
내부 앱의 주소와 포트를 확인한다
- 03
설정 검사 후 Nginx를 다시 불러온다
관계 지도
현재 개념 엔진엑스(Nginx)
함께 보면 좋은 개념
리버스 프록시(Reverse Proxy) 외부 요청을 먼저 받아 알맞은 내부 서버로 전달하는 중간 서버. Caddy HTTPS 인증서 발급과 갱신을 자동화해주는 웹 서버이자 리버스 프록시. Server 네트워크 요청을 받아 데이터나 기능을 제공하는 컴퓨터 또는 프로그램.
HTTPS 브라우저와 서버 사이의 HTTP 통신을 암호화해 보호하는 방식.