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