Course Outline
HTTP/1.x 프로토콜 요청 및 응답 형식 tcpdump 및 Wireshark을 사용하여 HTTP 대화 검사 웹 브라우저에서 HTTP 헤더 검사 CURL로 요청 공통 헤더 요청 파이프라인 콘텐츠 길이 및 청크 인코딩 MIME 유형
Nginx 설치 데비안 패키지에서 nginx 설치
데비안과 Ubuntu에서 사용할 수 있는 nginx의 변형소스에서 nginx 설치nginx 시작하기nginx 업그레이드Nginx 정적 파일 서버로 구성 파일의 일반적인 구조가상 호스트 설정
위치 구성위치조회순서오류 페이지 설정리디렉션 발행 중다른 형태의 URL 재작성빈 GIF 이미지 제공내부 및 명명된 위치MIME 유형 재정의클라이언트 측 성능 최적화 클라이언트가 리소스를 캐시하도록 허용Vary: 헤더요청 수 최소화
연결 유지리소스를 변경해야 하는 경우웹 프레임워크가 정적 파일을 처리하는 방법콘텐츠 후처리 Gzip 압축이미지 크기 조정Access IP 주소를 기반으로 파일에 대한 접근을 제한하는 제어지리적 제한
VCS 디렉토리 및 개인 파일 숨기기기본인증다른 유형의 인증
제한 사항 결합보안 링크제한 적용 트래픽 형성제한 목적으로 요청을 그룹화속도 제한 요청동시 연결 제한Nginx 역방향 프록시로 지원되는 업스트림 프로토콜자체 서명된 업스트림 SSL 인증서 처리
FastCGI 및 uWSGI 백엔드에 매개변수 전달웹소켓 연결 프록시X-Accel-* 헤더업스트림에서 수신 및 전송된 헤더 수정언어별 역방향 프록시 설정 PHP
PythonRubyNginx SSL 종결자로 자체 서명된 SSL 인증서 생성Let's Encrypt에서 인증서 받기사용 가능한 암호 제한세션 티켓 작업OCSP 응답 스테이플링
SSL 구성 확인클라이언트 측 인증서 수락HTTP/2 고려사항Nginx 업스트림 그룹 정의를 통한 로드 밸런싱
ip_hash를 사용한 고정 세션로드 밸런서로서의 Nginx Plus의 추가 기능Nginx 및 Nginx Plus의 대안Nginx 로드 밸런서 뒤에 또 다른 Nginx 배치Nginx HAProxy 또는 AWS 로드 밸런서 뒤Nginx 캐시로 nginx에게 페이지를 캐시하라고 지시nginx가 표준 캐싱 관련 헤더에 반응하는 방식캐시의 조정 가능한 매개변수Nginx 캐시와 애플리케이션 수준 캐시
캐시 지우기Nginx을 사용하여 인기 있는 웹 애플리케이션 배포 논의할 애플리케이션 목록은 트레이너가 결정합니다.Access 로그 및 오류 로그 파일 로깅사용자 정의 로그 형식 지정느린 요청 추적로깅 최적화로그 회전
외부 프로그램에 의한 로그 분석Nginx Nginx 스텁 상태 페이지 모니터링Nginx 게다가 확장된 실시간 상태 페이지일반적으로 어떤 모니터링 시스템이 플롯되고 경고되는지 Nginx[선택 사항] Nginx¹을 통한 고가용성 동일한 정적 콘텐츠를 여러 서버에 배포하는 방법구성 공유
탄력적/가상 IP 주소를 사용한 장애 조치Keepalived를 사용하여 VRRP 설정
기타 고가용성 스택Nginx Keepalived와의 추가 통합Nginx 구성과 관련된 일반적인 실수 및 보안 문제일반적인 성능 문제¹ 고가용성 섹션에는 침입 감지 시스템을 만족스럽지 않게 만드는 네트워크 설정이 포함되거나 참가자당 여러 가상 머신을 설정해야 합니다(다른 주제에서는 필요하지 않음). 따라서 기본적으로 제공되지 않습니다.
Requirements
참가자는 Linux 명령줄에 익숙해야 하며 TCP/IP에 대한 실무 지식이 있어야 합니다.