Nginx & Caddy 완전 정복 8편 — Nginx vs Caddy: 장단점 비교와 선택 가이드
시리즈를 마무리하며 Nginx와 Caddy를 설계 철학, HTTPS, 설정, 기능, 성능, 보안, 확장성, 생태계, 운영 관점에서 비교하고 상황별 선택 기준을 제시합니다.
blog92@web:~$ grep -rl "#Nginx" posts/
이 태그가 달린 글
시리즈를 마무리하며 Nginx와 Caddy를 설계 철학, HTTPS, 설정, 기능, 성능, 보안, 확장성, 생태계, 운영 관점에서 비교하고 상황별 선택 기준을 제시합니다.
Next.js 프런트엔드, API 서버 2대, WebSocket, 관리자 페이지로 이루어진 서비스를 Docker Compose 위에서 Nginx와 Caddy로 각각 구성하고, 설정과 운영 관점에서 나란히 비교합니다. Nginx→Caddy 지시어 대응표도 함께 제공합니다.
proxy_cache, limit_req/limit_conn, add_header 상속 함정과 보안 헤더, 워커·커널 튜닝, 구조화 로그, stream 모듈을 이용한 TCP 프록시와 트러블슈팅을 다룹니다.
server/location 선택 알고리즘, proxy_pass 슬래시 규칙, 프록시 헤더와 WebSocket, upstream 로드 밸런싱, certbot과 공식 ACME 모듈을 이용한 HTTPS 설정까지 다룹니다.
Nginx 설치, 마스터/워커 이벤트 기반 아키텍처, nginx.conf의 문법과 컨텍스트 구조, 정적 파일 서빙과 필수 명령어를 다룹니다.
Nginx와 Caddy를 배우기 전에 알아야 할 웹 서버, 리버스 프록시, TLS, 로드 밸런싱의 기본 개념을 정리합니다.
Upgrade와 Connection이 hop-by-hop 헤더라 기본 전달되지 않는다는 사실에서 출발해 Nginx 설정을 줄 단위로 읽고, L7과 L4 로드밸런서의 차이, 파일 디스크립터와 에페메랄 포트라는 OS 한계, 메모리 산정과 Node.js 단일 이벤트 루프의 특성을 다룹니다.
컨테이너에서 PM2를 쓸지 말지의 판단 기준과 pm2-runtime, Nginx 리버스 프록시 구성, 인터넷이 없는 폐쇄망에서의 오프라인 설치 절차, 업그레이드 주의사항과 증상별 트러블슈팅.
버튼 하나를 누른 요청이 DB에 닿았다가 돌아오기까지의 전체 지도를 먼저 그린다. URL 해석과 DNS, TCP와 TLS 핸드셰이크, 그리고 로드밸런서와 리버스 프록시가 요청에 무엇을 더하는지까지.
포워드·리버스 프록시의 역할 구분, 프록시 뒤에서 클라이언트 IP와 프로토콜을 되찾는 법, L4와 L7 로드밸런서, 헬스체크와 Graceful Shutdown, CDN과 API Gateway까지 인프라 구성요소를 정리한다.
Nginx 설정 구조부터 정적 파일과 SPA, proxy_pass와 X-Forwarded 헤더, location 우선순위, certbot HTTPS, 로드밸런싱, 타임아웃과 속도 제한까지 — 앱 앞에 서는 웹서버 운영의 기본.