자동 HTTPS, 간결한 Caddyfile, 내장 reverse proxy 기능을 중심으로 많이 쓰는 웹 서버다.
Caddyfile 을 쓰고, 자동화나 API 기반 배포에서는 native JSON 구성을 쓴다.caddy adapt 와 caddy validate 로 확인하고, 실행 중 반영은 caddy reload 로 처리하는 편이 안전하다.공식 stable APT 저장소를 등록해 설치한다.
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg sudo chmod o+r /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy
caddy systemd service가 자동으로 시작된다.caddy-api service unit도 포함되지만 기본으로 활성화되지는 않는다. 일반적인 Caddyfile 운용에서는 caddy service를 사용한다.공식 Caddy COPR 저장소를 활성화해 설치한다.
sudo dnf install dnf5-plugins sudo dnf copr enable @caddy/caddy sudo dnf install caddy
공식 Caddy COPR 저장소를 활성화해 설치한다.
sudo dnf install dnf-plugins-core sudo dnf copr enable @caddy/caddy sudo dnf install caddy
sudo systemctl enable --now caddy systemctl status caddy
공식 설치 문서가 안내하는 community-maintained Homebrew formula를 사용한다.
brew install caddy
Caddy 공식 설치 문서는 community-maintained Chocolatey와 Scoop 패키지를 안내한다.
choco install caddy
또는:
scoop install caddy
winget 설치 방법이 안내되어 있지 않다. 출처가 불명확한 package ID를 임의로 사용하지 말고, 위의 문서화된 방법이나 공식 static binary를 사용한다. Windows service로 상시 실행하려면 설치와 별도로 공식 Windows service 안내를 따른다.
설치한 바이너리의 version과 build 정보를 확인한다. 배포 패키지나 custom build에 따라 포함된 module은 달라질 수 있다.
caddy version caddy build-info
caddy <command> [<switches>…] ARGScaddy run –config FILE: foreground 실행caddy start –config FILE: background 실행caddy reload –config FILE: 무중단 설정 재적용caddy adapt –config FILE: Caddyfile 등을 JSON으로 변환caddy validate –config FILE: 설정 유효성 점검caddy fmt –overwrite FILE: Caddyfile 정렬caddy file-server [<switches>…]: 빠른 정적 파일 서빙caddy reverse-proxy [<switches>…]: 빠른 reverse proxyrun: foreground에서 프로세스를 실행한다.start: background로 프로세스를 시작한다.stop: 실행 중인 Caddy 프로세스를 종료한다.reload: admin API를 통해 현재 프로세스에 새 설정을 반영한다.adapt: Caddyfile 같은 입력 구성을 native JSON으로 변환한다.validate: 설정을 로드 가능한지 검증한다.fmt: Caddyfile 포맷을 정렬한다.file-server: 간단한 정적 파일 서버를 바로 띄운다.reverse-proxy: 간단한 HTTP(S) reverse proxy를 바로 띄운다.trust / untrust: 로컬 trust store에 인증서를 추가하거나 제거한다.list-modules: 현재 빌드에 포함된 모듈을 확인한다.caddy file-server --root . --listen :8080
caddy reverse-proxy --from :2080 --to :9000
caddy fmt --overwrite ./Caddyfile
caddy adapt --config ./Caddyfile --pretty --validate
caddy reload --config ./Caddyfile
Caddyfile 이다.caddy adapt 는 형식 변환 중심이고, 실제 로드 가능성까지 보려면 caddy validate 또는 caddy adapt –validate 가 더 강하다.reload 가 실패하면 admin API 주소, 실행 중인 프로세스, config adapter 지정 여부를 확인한다.Local caddy help output was not captured in this repository checkout. Use the official command line reference: https://caddyserver.com/docs/command-line
+