Caddy Web Server Documentation
Official Caddy docs fetched from caddyserver.com/docs. 81 pages covering configuration, directives, API, modules, and development.
URL ↔ File Path Mapping
URL: https://caddyserver.com/docs/caddyfile/directives/reverse_proxy
File: references/caddyfile/directives/reverse_proxy.md
URL: https://caddyserver.com/docs/automatic-https
File: references/automatic-https.md
URL: https://caddyserver.com/docs/
File: references/index.md
Rule: strip https://caddyserver.com/docs, drop trailing /, append .md. Subdirectories map to nested file paths.
CRITICAL: grep references/ for keywords before answering.
Topic Index
Getting Started
index.md — Documentation home
getting-started.md — Welcome and core concepts
install.md — Installation methods
quick-starts/ — Quick start guides (Caddyfile, API, HTTPS, static files, reverse proxy, Railway)
Caddyfile (Primary Configuration)
caddyfile.md — Caddyfile overview
caddyfile-tutorial.md — Caddyfile tutorial
caddyfile/concepts.md — Core Caddyfile concepts (sites, directives, matchers, placeholders)
caddyfile/directives.md — Directive index and ordering
caddyfile/matchers.md — Request matchers (path, host, header, method, etc.)
caddyfile/response-matchers.md — Response matchers
caddyfile/options.md — Global options block
caddyfile/patterns.md — Common Caddyfile patterns and recipes
Caddyfile Directives (38 directives)
caddyfile/directives/reverse_proxy.md — Reverse proxy with load balancing, health checks, headers
caddyfile/directives/tls.md — TLS/HTTPS certificate configuration
caddyfile/directives/file_server.md — Static file server
caddyfile/directives/header.md — Set/add/delete response headers
caddyfile/directives/redir.md — HTTP redirects
caddyfile/directives/rewrite.md — Internal URI rewriting
caddyfile/directives/uri.md — URI manipulation (strip prefix/suffix, replace, path regexp)
caddyfile/directives/encode.md — Response compression (gzip, zstd)
caddyfile/directives/handle.md — Mutually exclusive route groups
caddyfile/directives/handle_path.md — Handle with path prefix stripping
caddyfile/directives/handle_errors.md — Error page handling
caddyfile/directives/route.md — Explicit directive ordering
caddyfile/directives/log.md — Access logging
caddyfile/directives/log_append.md — Append fields to log entries
caddyfile/directives/log_name.md — Override logger name
caddyfile/directives/log_skip.md — Skip logging for matched requests
caddyfile/directives/basic_auth.md — HTTP Basic Authentication
caddyfile/directives/forward_auth.md — Forward authentication (external auth service)
caddyfile/directives/php_fastcgi.md — PHP FastCGI proxy
caddyfile/directives/templates.md — Server-side templates
caddyfile/directives/respond.md — Static response (inline body or status)
caddyfile/directives/abort.md — Abort/close connection
caddyfile/directives/error.md — Trigger error handling
caddyfile/directives/try_files.md — File existence check / SPA fallback
caddyfile/directives/map.md — Map input to output values
caddyfile/directives/vars.md — Set custom variables
caddyfile/directives/import.md — Import config snippets or files
caddyfile/directives/invoke.md — Invoke named routes
caddyfile/directives/bind.md — Bind to specific network interface
caddyfile/directives/root.md — Set site root directory
caddyfile/directives/method.md — Override request method
caddyfile/directives/request_body.md — Request body size limits
caddyfile/directives/request_header.md — Manipulate request headers
caddyfile/directives/push.md — HTTP/2 server push
caddyfile/directives/intercept.md — Intercept responses from upstream
caddyfile/directives/metrics.md — Prometheus metrics endpoint
caddyfile/directives/tracing.md — Distributed tracing (OpenTelemetry)
caddyfile/directives/acme_server.md — Built-in ACME CA server
caddyfile/directives/fs.md — File system abstraction
Core Features
automatic-https.md — Automatic HTTPS (Let's Encrypt, ZeroSSL)
logging.md — Structured logging configuration
metrics.md — Prometheus metrics
running.md — Running Caddy as a service (systemd, Docker, etc.)
command-line.md — CLI commands (run, start, stop, reload, adapt, etc.)
JSON API & Configuration
json.md — Native JSON configuration structure
api.md — Admin API reference
api-tutorial.md — API tutorial
config-adapters.md — Config adapters (Caddyfile → JSON)
Extending Caddy (Module Development)
extending-caddy.md — Module development overview
extending-caddy/caddyfile.md — Adding Caddyfile support to modules
extending-caddy/config-adapters.md — Custom config adapters
extending-caddy/namespaces.md — Module namespaces
extending-caddy/placeholders.md — Placeholder system
architecture.md — Caddy architecture
build.md — Building Caddy from source (xcaddy)
modules.md — Module ecosystem
Reference
conventions.md — Naming and file conventions
examples.md — Full configuration examples
faq.md — Frequently asked questions
troubleshooting.md — Troubleshooting guide
profiling.md — Performance profiling
signature-verification.md — Binary signature verification
v2-upgrade.md — Upgrading from Caddy v1
1---2name: caddy-docs3description: USE THIS SKILL WHEN working with the Caddy web server: Caddyfile configuration, reverse_proxy, automatic HTTPS, TLS, file_server, headers, rewrite, redir, encode, handle, route, templates, basic_auth, forward_auth, php_fastcgi, logging, metrics, tracing, try_files, map, vars, import, invoke, bind, Caddy JSON API, Caddy CLI commands, Caddy modules, extending Caddy, or any Caddy server configuration and deployment.4---56# Caddy Web Server Documentation78Official Caddy docs fetched from [caddyserver.com/docs](https://caddyserver.com/docs/). 81 pages covering configuration, directives, API, modules, and development.910## URL ↔ File Path Mapping1112```13URL: https://caddyserver.com/docs/caddyfile/directives/reverse_proxy14File: references/caddyfile/directives/reverse_proxy.md1516URL: https://caddyserver.com/docs/automatic-https17File: references/automatic-https.md1819URL: https://caddyserver.com/docs/20File: references/index.md21```2223**Rule**: strip `https://caddyserver.com/docs`, drop trailing `/`, append `.md`. Subdirectories map to nested file paths.2425CRITICAL: grep `references/` for keywords before answering.2627## Topic Index2829### Getting Started30- `index.md` — Documentation home31- `getting-started.md` — Welcome and core concepts32- `install.md` — Installation methods33- `quick-starts/` — Quick start guides (Caddyfile, API, HTTPS, static files, reverse proxy, Railway)3435### Caddyfile (Primary Configuration)36- `caddyfile.md` — Caddyfile overview37- `caddyfile-tutorial.md` — Caddyfile tutorial38- `caddyfile/concepts.md` — Core Caddyfile concepts (sites, directives, matchers, placeholders)39- `caddyfile/directives.md` — Directive index and ordering40- `caddyfile/matchers.md` — Request matchers (path, host, header, method, etc.)41- `caddyfile/response-matchers.md` — Response matchers42- `caddyfile/options.md` — Global options block43- `caddyfile/patterns.md` — Common Caddyfile patterns and recipes4445### Caddyfile Directives (38 directives)46- `caddyfile/directives/reverse_proxy.md` — Reverse proxy with load balancing, health checks, headers47- `caddyfile/directives/tls.md` — TLS/HTTPS certificate configuration48- `caddyfile/directives/file_server.md` — Static file server49- `caddyfile/directives/header.md` — Set/add/delete response headers50- `caddyfile/directives/redir.md` — HTTP redirects51- `caddyfile/directives/rewrite.md` — Internal URI rewriting52- `caddyfile/directives/uri.md` — URI manipulation (strip prefix/suffix, replace, path regexp)53- `caddyfile/directives/encode.md` — Response compression (gzip, zstd)54- `caddyfile/directives/handle.md` — Mutually exclusive route groups55- `caddyfile/directives/handle_path.md` — Handle with path prefix stripping56- `caddyfile/directives/handle_errors.md` — Error page handling57- `caddyfile/directives/route.md` — Explicit directive ordering58- `caddyfile/directives/log.md` — Access logging59- `caddyfile/directives/log_append.md` — Append fields to log entries60- `caddyfile/directives/log_name.md` — Override logger name61- `caddyfile/directives/log_skip.md` — Skip logging for matched requests62- `caddyfile/directives/basic_auth.md` — HTTP Basic Authentication63- `caddyfile/directives/forward_auth.md` — Forward authentication (external auth service)64- `caddyfile/directives/php_fastcgi.md` — PHP FastCGI proxy65- `caddyfile/directives/templates.md` — Server-side templates66- `caddyfile/directives/respond.md` — Static response (inline body or status)67- `caddyfile/directives/abort.md` — Abort/close connection68- `caddyfile/directives/error.md` — Trigger error handling69- `caddyfile/directives/try_files.md` — File existence check / SPA fallback70- `caddyfile/directives/map.md` — Map input to output values71- `caddyfile/directives/vars.md` — Set custom variables72- `caddyfile/directives/import.md` — Import config snippets or files73- `caddyfile/directives/invoke.md` — Invoke named routes74- `caddyfile/directives/bind.md` — Bind to specific network interface75- `caddyfile/directives/root.md` — Set site root directory76- `caddyfile/directives/method.md` — Override request method77- `caddyfile/directives/request_body.md` — Request body size limits78- `caddyfile/directives/request_header.md` — Manipulate request headers79- `caddyfile/directives/push.md` — HTTP/2 server push80- `caddyfile/directives/intercept.md` — Intercept responses from upstream81- `caddyfile/directives/metrics.md` — Prometheus metrics endpoint82- `caddyfile/directives/tracing.md` — Distributed tracing (OpenTelemetry)83- `caddyfile/directives/acme_server.md` — Built-in ACME CA server84- `caddyfile/directives/fs.md` — File system abstraction8586### Core Features87- `automatic-https.md` — Automatic HTTPS (Let's Encrypt, ZeroSSL)88- `logging.md` — Structured logging configuration89- `metrics.md` — Prometheus metrics90- `running.md` — Running Caddy as a service (systemd, Docker, etc.)91- `command-line.md` — CLI commands (run, start, stop, reload, adapt, etc.)9293### JSON API & Configuration94- `json.md` — Native JSON configuration structure95- `api.md` — Admin API reference96- `api-tutorial.md` — API tutorial97- `config-adapters.md` — Config adapters (Caddyfile → JSON)9899### Extending Caddy (Module Development)100- `extending-caddy.md` — Module development overview101- `extending-caddy/caddyfile.md` — Adding Caddyfile support to modules102- `extending-caddy/config-adapters.md` — Custom config adapters103- `extending-caddy/namespaces.md` — Module namespaces104- `extending-caddy/placeholders.md` — Placeholder system105- `architecture.md` — Caddy architecture106- `build.md` — Building Caddy from source (xcaddy)107- `modules.md` — Module ecosystem108109### Reference110- `conventions.md` — Naming and file conventions111- `examples.md` — Full configuration examples112- `faq.md` — Frequently asked questions113- `troubleshooting.md` — Troubleshooting guide114- `profiling.md` — Performance profiling115- `signature-verification.md` — Binary signature verification116- `v2-upgrade.md` — Upgrading from Caddy v1