Caddy is a simple, yet powerful, web server. While it’s very easy to configure, it also has another great feature: automatic SSL certificates, meaning you won’t have to worry about getting and renewing your certificates.

Installing Caddy is really easy:

$ dnf install dnf5-plugins
$ dnf copr enable @caddy/caddy
$ dnf install caddy

Then the configuration goes in /etc/caddy/Caddyfile. For instance, hosting a static file located in /var/www/html on the domain example.com will go like so:

https://example.com {
	encode gzip zstd
	root /var/www/html
	file_server
}

And that’s it, when starting Caddy, it will automatically provision the certificate and renew it when it’s time.

In case you need to reverse proxy something, it gets even easier:

https://example.com {
	reverse_proxy my-upstream:8080
}