광고 영역 (상단 디스플레이)

Caddyfile 빌더

도메인 블록을 추가하고 리버스 프록시·정적 파일 서버·헤더·재작성·gzip 인코딩 옵션을 클릭하면 Caddy v2 문법의 Caddyfile이 즉시 생성됩니다. 자동 HTTPS가 기본 활성화됩니다.

1. 글로벌 옵션

2. 사이트 블록

3. 생성된 Caddyfile

광고 영역 (결과 하단)

Caddyfile이란?

Caddy는 자동 HTTPS와 간결한 설정 문법으로 유명한 Go 기반 웹서버입니다. nginx의 복잡한 디렉티브 대신 도메인 한 줄로 시작하는 직관적인 Caddyfile을 사용하며, Let's Encrypt 인증서 발급과 갱신, OCSP 스테이플링, HTTP/3까지 별도 설정 없이 처리해 줍니다. 본 빌더는 도메인 블록을 클릭으로 추가하고 리버스 프록시·정적 파일·헤더·재작성·압축 옵션을 폼으로 입력하면 즉시 Caddyfile을 만들어 줍니다.

주요 디렉티브

자동 HTTPS 동작 방식

Caddy는 사이트 주소에 도메인이 포함되어 있으면 부팅 직후 자동으로 Let's Encrypt 또는 ZeroSSL ACME 챌린지를 수행해 인증서를 발급합니다. 80/443 포트 모두 열려 있어야 하며, 인증서는 메모리/파일시스템($HOME/.local/share/caddy)에 캐시됩니다. 로컬 IP(localhost, 127.0.0.1)의 경우에는 내부 자체 서명 인증서가 발급됩니다. 자동 HTTPS를 끄려면 글로벌 옵션의 auto_https off를 사용하세요.

리버스 프록시 응용

Caddy의 reverse_proxy는 별다른 모듈 없이 WebSocket 업그레이드, HTTP/2 백엔드, 헬스체크, 로드밸런싱(랜덤·라운드로빈·IP 해시)을 지원합니다. 백엔드 여러 개를 공백으로 나열하면 자동 로드밸런싱되며, lb_policy round_robin으로 정책을 바꿀 수 있습니다. header_up X-Real-IP {remote}로 원본 IP를 전달하는 등 헤더 변형도 한 줄로 가능합니다.

자주 묻는 질문 (FAQ)

Q. 생성된 Caddyfile은 어디에 두나요?

A. 리눅스 패키지로 설치하면 /etc/caddy/Caddyfile이 기본 경로이며, sudo systemctl reload caddy로 무중단 재적용합니다.

Q. nginx 설정에서 Caddy로 옮길 때 주의점은?

A. Caddy는 기본적으로 정적 파일을 자동 서빙하지 않습니다. file_server 디렉티브를 명시해야 합니다. 또한 location 대신 handle·handle_path·route를 사용합니다.

Q. 인증서 발급이 실패하면?

A. DNS가 해당 서버를 가리키는지, 80/443이 외부에서 열려 있는지, 같은 도메인에 ACME 발급 횟수 제한(주 50회)을 초과하지 않았는지 확인하세요. --debug 옵션으로 ACME 로그를 확인할 수 있습니다.