NGINX 06. http 블록은 어디에? 설정 컨텍스트를 잡아야 중복이 줄어듭니다
구성도
핵심 정리
1) 설정이 꼬일 때는 ‘컨텍스트(scope)’부터 확인하시는 것이 가장 빠릅니다
- NGINX는 지시어(directive)가 들어갈 수 있는 위치가 정해져 있습니다.
- 예를 들어,
server안에 써야 하는 설정을http에 쓰면 에러가 나거나, 반대로 전역으로 퍼져 예상치 못한 영향이 생길 수 있습니다.
2) 가장 자주 쓰는 계층
| 컨텍스트 | 주로 두는 내용 | 실무 팁 |
|---|---|---|
| main | 프로세스/로그/사용자 등 | ‘전역 정책’만 둡니다 |
| http | upstream, 캐시, 리미트 등 | 여러 server가 공유할 정책을 둡니다 |
| server | 도메인/포트 단위 가상호스트 | 서비스 단위로 쪼개기 좋습니다 |
| location | URI 경로별 라우팅/보안 | ‘영향 범위’를 최소화합니다 |
# 예시(감 잡기용)
http {
# 여러 서버가 공통으로 쓰는 정책(캐시/리미트/헤더 등)
limit_req_zone $binary_remote_addr zone=api:10m rate=5r/s;
server {
server_name example.local;
location /api/ {
limit_req zone=api burst=10;
proxy_pass http://backend;
}
}
}
정리
- ‘어디에 쓸 수 있는 지시어인지’를 먼저 확인하면, NGINX 설정 작업 속도가 체감될 정도로 빨라집니다.
- scope가 넓을수록 영향 범위가 커지므로, 민감한 정책은 location으로 좁혀서 시작하시는 것을 권장드립니다.
참고 링크
'Tech Note > 서버-Nginx' 카테고리의 다른 글
| [실습] 08. Basic Auth로 빠른 접근 제어 적용 (0) | 2026.01.04 |
|---|---|
| [실습] 07. Rate Limiting 실전 (0) | 2026.01.04 |
| [실습] 05. split clients로 트래픽 분배 구성 (0) | 2026.01.04 |
| [실습] 04. NGINX 캐시 입문 (0) | 2026.01.04 |
| [실습] 03. NGINX 리버스 프록시로 Django 배포 (0) | 2026.01.04 |