NGINX 쿡북

106가지 레시피로 배우는 고성능 부하분산, 보안, 서버 배포와 관리
$24.95
SKU
9791169212700
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Fri 01/3 - Thu 01/9 (주문일로부 10-14 영업일)

Express Shipping estimated by Tue 12/31 - Thu 01/2 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2024/07/22
Pages/Weight/Size 183*235*20mm
ISBN 9791169212700
Categories IT 모바일 > 네트워크/해킹/보안
Description
웹 애플리케이션을 위한 ‘스위스 군용 칼’
Welcome to nginx cookbook!


2004년 처음 발표된 엔진엑스는 웹 서버 시장 점유율 30% 이상을 차지하는 주류 소프트웨어가 된 지 오래이다. 엔진엑스는 초창기에 아파치 서버의 단점을 보완하는 용도로 함께 사용되었지만, 높은 성능과 편의성을 무기로 빠르게 성장해 현재는 전 세계 웹 서버 시장 점유율 1위에 자리하고 있다.

길지 않은 기간에 엔진엑스가 빠르게 성장한 데에는 여러 이유가 있겠지만 무엇보다 쉬운 설치 및 사용법과 고성능 트래픽 처리 기능 덕분이다. 게다가 ‘웹 애플리케이션을 위한 스위스 군용 칼’이라는 별명답게 웹 서버와 리버스 프록시를 넘어서서 부하분산, 캐싱, 보안, API 게이트웨이 등 다양한 기능을 갖추었다.

이 책은 엔진엑스를 가장 엔진엑스답게 활용하기 위한 가이드이다. 엔진엑스 오픈 소스 및 상용 버전에서 제공하는 유용한 기능과 그 사용법을 간결한 레시피로 설명한다. 문제-해결-논의 형식의 레시피는 실무에서 필요할 때마다 꺼내 보고 참고하기 좋다. 그동안 엔진엑스를 단순히 웹 서버로만 사용해 왔다면 새로운 기능을 발견하는 재미도 느낄 수 있을 것이다!
Contents
CHAPTER 1 엔진엑스 기초

_1.0 소개
_1.1 데비안/우분투 리눅스 배포판에 설치하기
_1.2 레드햇/센트OS 리눅스 배포판에 설치하기
_1.3 엔진엑스 플러스 설치하기
_1.4 설치 상태 점검하기
_1.5 주요 설정 파일, 디렉터리, 명령어
_1.6 include 구문을 사용해 깔끔한 설정 만들기
_1.7 정적 콘텐츠 서비스하기

CHAPTER 2 고성능 부하분산

_2.0 소개
_2.1 HTTP 부하분산
_2.2 TCP 부하분산
_2.3 UDP 부하분산
_2.4 부하분산 알고리즘
_2.5 스티키 쿠키(엔진엑스 플러스)
_2.6 스티키 런(엔진엑스 플러스)
_2.7 스티키 라우팅(엔진엑스 플러스)
_2.8 커넥션 드레이닝(엔진엑스 플러스)
_2.9 수동적인 헬스 체크
_2.10 능동적인 헬스 체크(엔진엑스 플러스)
_2.11 슬로 스타트(엔진엑스 플러스)

CHAPTER 3 트래픽 관리

_3.0 소개
_3.1 A/B 테스트
_3.2 GeoIP 모듈과 데이터베이스 활용하기
_3.3 국가 단위 접근 차단하기
_3.4 실제 사용자 IP 찾기
_3.5 연결 제한하기
_3.6 요청 빈도 제한하기
_3.7 전송 대역폭 제한하기

CHAPTER 4 대규모 확장 가능한 콘텐츠 캐싱

_4.0 소개
_4.1 캐시 영역
_4.2 해시 키 값 캐시
_4.3 캐시 락
_4.4 오래된 캐시 활용
_4.5 캐시 우회
_4.6 캐시 퍼지(엔진엑스 플러스)
_4.7 캐시 분할

CHAPTER 5 프로그래머빌리티와 자동화

_5.0 소개
_5.1 엔진엑스 플러스 API
_5.2 키-값 저장소 사용하기(엔진엑스 플러스)
_5.3 njs 모듈로 엔진엑스 자바스크립트 기능 활용하기
_5.4 상용 프로그래밍 언어로 엔진엑스 확장하기
_5.5 앤서블로 엔진엑스 설치하기
_5.6 셰프로 엔진엑스 설치하기
_5.7 콘술 템플릿 기능으로 설정 자동화하기

CHAPTER 6 인증

_6.0 소개
_6.1 HTTP 기본 인증
_6.2 인증을 위한 하위 요청
_6.3 JWT 검증하기(엔진엑스 플러스)
_6.4 JSON 웹 키 생성하기(엔진엑스 플러스)
_6.5 오픈아이디 커넥트 SSO를 통한 사용자 인증(엔진엑스 플러스)
_6.6 JSON 웹 토큰 검증하기(엔진엑스 플러스)
_6.7 JSON 웹 키 세트 획득 자동화와 캐싱(엔진엑스 플러스)
_6.8 SAML 인증을 위한 서비스 공급자 설정(엔진엑스 플러스)

CHAPTER 7 보안 제어

_7.0 소개
_7.1 IP 주소 기반 접근 제어
_7.2 크로스 오리진 리소스 공유(CORS)
_7.3 클라이언트 측 암호화
_7.4 고급 클라이언트 측 암호화
_7.5 업스트림 암호화
_7.6 location 블록 보호하기
_7.7 비밀값으로 보안 링크 생성하기
_7.8 기간 제한 링크로 location 블록 보호하기
_7.9 기간 제한 링크 생성하기
_7.10 HTTPS 리다이렉션
_7.11 HTTPS 리다이렉션 - SSL 오프로딩 계층이 있는 경우
_7.12 HSTS
_7.13 국가 단위 접근 차단하기
_7.14 다중 계층 보안
_7.15 다중 계층 DDoS 방어(엔진엑스 플러스)
_7.16 앱 프로텍트 WAF 모듈 설치와 설정(엔진엑스 플러스)

CHAPTER 8 HTTP/2와 HTTP/3(QUIC)

_8.0 소개
_8.1 HTTP/2 활성화하기
_8.2 HTTP/3 활성화하기
_8.3 gRPC

CHAPTER 9 정교한 스트리밍

_9.0 소개
_9.1 MP4와 FLV 서비스하기
_9.2 HLS 스트리밍(엔진엑스 플러스)
_9.3 HDS 스트리밍(엔진엑스 플러스)
_9.4 대역폭 제한하기(엔진엑스 플러스)

CHAPTER 10 클라우드 환경 배포

_10.0 소개
_10.1 자동 프로비저닝 구현하기
_10.2 클라우드 환경에 엔진엑스 가상 머신 배포하기
_10.3 엔진엑스 이미지 생성하기
_10.4 클라우드 네이티브 로드밸런서를 쓰지 않고 엔진엑스 노드로 라우팅하기
_10.5 로드 밸런서 샌드위치
_10.6 동적으로 확장된 엔진엑스 서버 간의 부하분산하기
_10.7 구글 앱 엔진 프록시 생성하기

CHAPTER 11 컨테이너와 마이크로서비스

_11.0 소개
_11.1 엔진엑스를 API 게이트웨이로 사용하기
_11.2 DNS의 SRV 레코드 활용하기(엔진엑스 플러스)
_11.3 공식 엔진엑스 컨테이너 이미지 사용하기
_11.4 엔진엑스 도커 파일 생성하기
_11.5 엔진엑스 플러스 컨테이너 이미지 생성하기
_11.6 엔진엑스에서 환경 변수 사용하기
_11.7 엔진엑스 인그레스 컨트롤러

CHAPTER 12 고가용성 보장을 위한 설정

_12.0 소개
_12.1 엔진엑스 플러스 HA 모드
_12.2 DNS를 이용한 로드 밸런서 부하분산
_12.3 EC2의 부하분산
_12.4 엔진엑스 플러스 설정 동기화하기
_12.5 상태 공유와 영역 동기화(엔진엑스 플러스)

CHAPTER 13 고급 활동 모니터링

_13.0 소개
_13.1 엔진엑스의 스텁 상태 활성화하기
_13.2 모니터링 대시보드 활성화하기(엔진엑스 플러스)
_13.3 엔진엑스 플러스 API로 지표 수집하기
_13.4 엔진엑스를 위한 오픈텔레메트리
_13.5 프로메테우스 익스포터 모듈

CHAPTER 14 디버깅과 트러블슈팅

_14.0 소개
_14.1 접근 로그 설정하기
_14.2 오류 로그 설정하기
_14.3 로그를 시스로그로 전달하기
_14.4 설정 디버깅하기
_14.5 요청 추적하기

CHAPTER 15 성능 튜닝

_15.0 소개
_15.1 로드 드라이버로 시험 자동화하기
_15.2 브라우저 캐시 제어
_15.3 클라이언트와의 연결 유지하기
_15.4 업스트림 서버와의 연결 유지하기
_15.5 응답 버퍼링
_15.6 접근 로그 버퍼링
_15.7 운영체제 튜닝
Author
데릭 디용기,노승헌
평생 기술에 대한 열정을 가져온 리눅스/유닉스 기반 시스템 및 웹 애플리케이션 전문가다. 웹 개발, 시스템 관리 및 네트워킹 경험을 통해 현대 웹 아키텍처에 대한 포괄적인 지식을 쌓았다. 사이트 안정성 및 클라우드 솔루션 엔지니어 팀의 리더로서, 수많은 애플리케이션의 자가 치유 및 자동 확장 인프라를 생산한다. 고가용성 애플리케이션을 설계, 구축, 유지 관리하며, 클라우드를 막 도입하는 대규모 기업을 컨설팅하기도 한다. 데릭과 그의 팀은 기술 파도의 최전선에서 매일 클라우드 모범 사례를 엔지니어링한다. 탄력적인 클라우드 아키텍처에 대한 입증된 실적을 바탕으로, 고객에게 가장 이익이 되는 보안과 유지 관리를 위한 클라우드 배포를 개척하고 있다.
평생 기술에 대한 열정을 가져온 리눅스/유닉스 기반 시스템 및 웹 애플리케이션 전문가다. 웹 개발, 시스템 관리 및 네트워킹 경험을 통해 현대 웹 아키텍처에 대한 포괄적인 지식을 쌓았다. 사이트 안정성 및 클라우드 솔루션 엔지니어 팀의 리더로서, 수많은 애플리케이션의 자가 치유 및 자동 확장 인프라를 생산한다. 고가용성 애플리케이션을 설계, 구축, 유지 관리하며, 클라우드를 막 도입하는 대규모 기업을 컨설팅하기도 한다. 데릭과 그의 팀은 기술 파도의 최전선에서 매일 클라우드 모범 사례를 엔지니어링한다. 탄력적인 클라우드 아키텍처에 대한 입증된 실적을 바탕으로, 고객에게 가장 이익이 되는 보안과 유지 관리를 위한 클라우드 배포를 개척하고 있다.