Vulcain for Caddy
Caddy is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go.
The Vulcain module for Caddy 2 allows to turn any existing web API in a one supporting all features of Vulcain in a few minutes.
Install
Use xcaddy to create a build of Caddy containing the Vulcain module.
- Install xcaddy
- Run:
xcaddy build --with github.com/dunglas/vulcain --with github.com/dunglas/vulcain/caddy
Configuration
Example configuration:
{
servers {
protocol {
experimental_http3
}
}
}
my-site.com
route {
vulcain {
openapi_file my-openapi-description.yaml # optional
max_pushes 100 # optional
}
reverse_proxy my-api:8080 # all other handlers such as the static file server and custom handlers are also supported
}
Start the Server
Just run ./caddy run
.
Cache Handler
Vulcain is best used with an HTTP cache server. The Caddy and the Vulcain team maintain together a distributed HTTP cache module supporting most of the RFC. To build Caddy with this module and Vulcain run: xcaddy build --with github.com/dunglas/vulcain --with github.com/dunglas/vulcain/caddy --with github.com/caddyserver/cache-handler