ACTIVE INCIDENT
00:00 elapsed
LABLAB-DOCKER-01-NGINX-RPSEV-2
nginx 리버스 프록시 직접 구성하기
ELAPSED
00:00
PHASE
0 / 7
SLA
35분
📦 Docker
← 목록
INCIDENT RESPONSE
0 / 8 단계 완료
📚 PREREQUISITES
Theorydocker/docker-compose
Theorylinux/process-management
TRACK
DOCKER
SLA
35분
SEV
SEV-2
PHASES
6단계
ENV
container
INCOMING TICKET
팀 리드 Slack DM: "오늘 오후 3시 고객사 데모인데 80포트로 접근하면 Node.js 앱이 나와야 해요. 지금은 3000으로만 되는 상태고 고객사 IT팀이 방화벽에서 3000은 차단한대요. 2시간 안에 nginx 붙여줄 수 있어요?"
YOUR ROLE
주니어 인프라 엔지니어
IMPACT IF UNRESOLVED
80포트 미제공 시 오후 3시 고객사 데모 취소 위기. nginx 리버스 프록시 미구성으로 Node.js 앱이 3000번 포트에만 노출된 상태.
🚨INCIDENT BRIEF
팀 리드에게서 Slack 메시지가 왔습니다.
"로컬에서 Node.js 앱 3000포트로 테스트하고 있는데, 이제 nginx 앞에 붙이고 외부에서 80포트로 들어오면 앱으로 프록시되게 해줘. 운영 배포 직전 구조로 맞춰보는 거야."
docker-compose.yml과 빈 nginx.conf가 준비되어 있습니다.
nginx.conf를 직접 작성해서 리버스 프록시를 완성하세요.
⏱ 35분📊 중급🔧 6단계#nginx#docker-compose#reverse-proxy#proxy_pass
MISSION
1
Docker Compose 환경 시작
nginx와 backend 컨테이너가 모두 running 상태여야 한다
2
nginx.conf — upstream 블록 작성
nginx.conf에 upstream 블록이 존재하고 nginx -t 문법 검사를 통과해야 한다
3
/api 요청을 백엔드로 프록시
curl http://localhost/api/health 가 200을 반환해야 한다
4
/ 요청도 프록시 추가
curl http://localhost/ 도 200을 반환해야 한다
5
nginx access 로그 확인
/api/health 요청이 nginx access.log에 기록되어야 한다
6
최종 검증 — verify.sh 실행
verify.sh가 모든 체크를 PASS하고 exit 0으로 종료되어야 한다
📌 선수 지식
• [이론] docker/docker-compose
• [이론] linux/process-management
ℹ️ 실습 환경
환경: container
필요 도구: docker, docker-compose, curl
검증 스크립트: /labs/nginx-reverse-proxy/scripts/verify.sh
🔒
실습 실행은 Pro 플랜 전용입니다
인시던트 브리프와 학습 자료는 지금 바로 확인할 수 있습니다. 실제 실습 진행 및 터미널 사용은 Pro 플랜에서 가능합니다.
Pro로 업그레이드 →
>_ LAB TERMINAL↔ 너비 조절
NOTES