네트워크 / 보안
엔진엑스(Nginx)
Nginx는 웹사이트 파일을 제공하거나 요청을 다른 앱 서버로 전달하는 웹 서버 프로그램입니다.
쉬운 설명
AI가 VPS 배포 방법을 알려 주면서 “Nginx 설정을 추가하세요”라고 할 수 있어요. Nginx가 직접 HTML·이미지 같은 파일을 보내기도 하고, 요청을 Node.js 같은 앱으로 전달하기도 해요. 뒤쪽 앱으로 전달하는 역할을 리버스 프록시라고 해요. Nginx를 설치하는 것과 내 앱의 연결 설정을 마치는 것은 별개예요.
이런 상황에서 만나요
서버 안에서 실행되는 스터디 앱을 도메인으로 연결하려고 Nginx 설정을 받았다고 해 볼게요. 아래는 HTTP 요청을 같은 환경의 3000번 포트로 전달하는 설정 일부예요.
설정에서 받을 주소와 전달할 주소를 찾아요
server {
listen 80;
server_name study.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}nginx -t
설정 다시 불러오기
도메인 접속 → 앱 응답 확인
- 1http 설정 안에 들어갈 server 블록 예시예요. HTTPS 설정은 포함하지 않아요.
- 2문법과 참조 파일 검사예요. 앱 동작 검사는 아니에요.
- 3설정 적용과 실제 동작 확인까지 이어서 진행해요.
server_name은 받을 도메인, proxy_pass는 요청을 전달할 대상이에요. 설정을 바꾼 뒤에는 문법과 참조 파일을 검사하고 정상일 때 다시 불러와요. 검사 통과 후에도 도메인 접속과 앱의 실제 응답은 별도로 확인해야 해요.
헷갈리기 쉬운 점
Nginx를 켰는데 기본 환영 화면만 보여요. 앱도 배포된 건가요?
기본 화면이 열린다는 사실만으로 앱 연결이 끝난 것은 아니에요. 내 도메인을 처리할 설정이 적용됐는지, 기본 사이트 설정과 겹치지 않는지, 전달할 앱이 실행 중인지 확인해요.
아래는 HTTP 설정 일부라 HTTPS 인증서 설정까지 포함하지 않아요. 설정 파일 위치와 다시 불러오는 명령은 설치 방식이나 컨테이너 사용 여부에 따라 달라요.
왜 알아야 할까요?
환영 화면, 502 오류, 앱 자체 오류를 같은 문제로 취급하지 않고 확인할 수 있어요. AI가 작성한 설정에서도 도메인과 전달 대상을 찾아 내 환경에 맞는지 대조할 수 있어요.
조금 더 자세히
Nginx는 엔진엑스로 읽습니다. 정적 파일 제공과 리버스 프록시 외에도 다양한 웹 서버 기능을 제공합니다. 여기서는 일반적인 오픈소스 Nginx의 HTTP 프록시 설정을 예로 듭니다.
nginx -t는 설정 문법을 확인하고 설정에서 참조한 파일을 열 수 있는지도 검사합니다. nginx -s reload는 실행 중인 Nginx에 설정을 다시 불러오도록 요청합니다. 필요한 권한과 서비스 관리 방식은 설치 환경에 맞춰 확인합니다.
직접 사용할 때 확인해 보세요
- 받을 도메인과 전달 대상 주소를 대조한다
- 설정을 검사한 뒤 다시 불러온다
- 실제 도메인 요청과 앱 응답을 확인한다