From 8780e8982808027b24e5a9eea16dba8c816f1abb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Mon, 23 Feb 2026 13:07:47 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20[academy]=20Nginx=20=EB=B0=B1=EA=B3=BC?= =?UTF-8?q?=EC=82=AC=EC=A0=84=20SVG=20=EC=9D=BC=EB=9F=AC=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=209~12=EB=B2=88=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 9.svg: 보안 필터 = 입장 불가 명단 (경비원/차단목록 비유) - 10.svg: 정적 자산 캐싱 = 냉장고 보관 (캐시 히트 vs 미스 비교) - 11.svg: 502/504/403/413 에러 카드 4종 (원인/해결 가이드) - 12.svg: 핵심 정리 총괄 인포그래픽 (6대 기능 원형 배치) --- .../images/academy/nginx-encyclopedia/10.svg | 163 ++++++++++++++++++ .../images/academy/nginx-encyclopedia/11.svg | 146 ++++++++++++++++ .../images/academy/nginx-encyclopedia/12.svg | 147 ++++++++++++++++ .../images/academy/nginx-encyclopedia/9.svg | 155 +++++++++++++++++ 4 files changed, 611 insertions(+) create mode 100644 public/images/academy/nginx-encyclopedia/10.svg create mode 100644 public/images/academy/nginx-encyclopedia/11.svg create mode 100644 public/images/academy/nginx-encyclopedia/12.svg create mode 100644 public/images/academy/nginx-encyclopedia/9.svg diff --git a/public/images/academy/nginx-encyclopedia/10.svg b/public/images/academy/nginx-encyclopedia/10.svg new file mode 100644 index 00000000..f10a299e --- /dev/null +++ b/public/images/academy/nginx-encyclopedia/10.svg @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + 정적 자산 캐싱 = 냉장고 보관 + + + + + 매번 새로 가져오기 + (캐시 없음) + + + + + + 응답 시간: 200ms+ + + + + 1. 클라이언트 요청 + + + + + 2. 서버에서 파일 읽기 (디스크 I/O) + + + + + 3. 헤더 처리 + 압축 + + + + + 4. 응답 전송 (매번 반복!) + + + + + + + + + + + + + 캐시 보관함 + + + * + * + + + + + .js + JavaScript + + + + .css + Stylesheet + + + + .png + Image + + + + .svg + Vector + + + + expires 30d + + + Cache-Control: public + + + + 30일간 신선 보관 + + + + + + 캐시에서 바로 꺼내기 + (캐시 히트!) + + + + + + + + + + 응답 시간: 5ms + + + + 1. 클라이언트 요청 + + + + + + + 2. 캐시에서 즉시 반환! + + + + 304 Not Modified + 서버 부하 없이 즉시 응답 + + + + VS + VS + + + + + + + + + + + + + 캐시 없음: 200ms + + + + 캐시 히트: 5ms (40x 빠름) + + + 40x + + \ No newline at end of file diff --git a/public/images/academy/nginx-encyclopedia/11.svg b/public/images/academy/nginx-encyclopedia/11.svg new file mode 100644 index 00000000..3fa3dc0b --- /dev/null +++ b/public/images/academy/nginx-encyclopedia/11.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Nginx 주요 에러 코드 가이드 + + + + + + + 502 + Bad Gateway + + + + + S + + + / + + + P + + + + + PHP-FPM이 응답하지 않음 + + + + 해결: + PHP-FPM 상태 확인 후 재시작 + + + + + + + + 504 + Gateway Timeout + + + + + + + + + + + + + + + + + 처리 시간 초과 (느린 쿼리 등) + + + + 해결: + proxy_read_timeout 타임아웃 설정 확인 + + + + + + + + 403 + Forbidden + + + + + + + + + + + + 접근 권한 없음 (파일 퍼미션 문제) + + + + 해결: + chmod/chown 파일 권한 및 소유자 확인 + + + + + + + + 413 + Request Entity Too Large + + + + + + + + 50MB + upload.zip + + + + + + + + 업로드 파일 크기가 제한 초과 + + + + 해결: + client_max_body_size 값 증가 + + \ No newline at end of file diff --git a/public/images/academy/nginx-encyclopedia/12.svg b/public/images/academy/nginx-encyclopedia/12.svg new file mode 100644 index 00000000..d4d43d14 --- /dev/null +++ b/public/images/academy/nginx-encyclopedia/12.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + Nginx 핵심 기능 총정리 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + N + Nginx + + + + + + + + + + + + 리버스 프록시 + 요청 중계/분배 + + + + + + + + + + + SSL/TLS + 암호화 통신 + + + + + + + + + + + 보안 필터 + 악성 요청 차단 + + + + + + + + + + 정적 캐싱 + 빠른 자산 제공 + + + + + + + + + + + + + + + + 로드 밸런싱 + 트래픽 분산 + + + + + + + + + + + 로그 모니터링 + 접근/에러 추적 + + + + + SAM 프로젝트의 수문장 + \ No newline at end of file diff --git a/public/images/academy/nginx-encyclopedia/9.svg b/public/images/academy/nginx-encyclopedia/9.svg new file mode 100644 index 00000000..18680b47 --- /dev/null +++ b/public/images/academy/nginx-encyclopedia/9.svg @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + 보안 필터 = 입장 불가 명단 + + + + + + + + + + + + + + + GUARD + + + NGINX + + + + + + + + + + + + + + + + + 차단 목록 + + + ../ + 경로 트래버설 + X + + .env + 환경 파일 + X + + .git + 소스코드 + X + + sqlmap + 해킹 도구 + X + + nikto + 스캐너 + X + + + + + + + + + + + 차단된 요청 + + + + GET /../../etc/passwd + + + + + + + GET /.env + + + + + + + GET /.git/config + + + + + + + UA: sqlmap/1.5 + + + + + + + + 403 + + + + + 통과된 요청 + + + + GET /dashboard + + + + + + POST /api/orders + + + + + + GET /images/logo.png + + + + + + GET /api/products + + + + + + + 200 + + + + + Nginx 보안 필터링 + \ No newline at end of file