A lot of the software we build involves hosting some part of it on a web server. Today, most of what we host is hosted in the cloud PaaS (Platform as a Service). This means we don’t have to look into some more classic hosting options such as Apache or IIS; the platform solves this for us. But now and then, I like to look at what software is out there.
That is how I bumped into Caddy. Caddy is a remarkable web server. It is straightforward to set up and configure, and it can be installed using just a few Linux commands.
I have set up a few different HTTP servers before, and I have always found it somewhat painful. They seem to require a little more effort than necessary. But Caddy was pretty much as easy as you would want. You just configure a Caddyfile and walk away.
If Caddy were just an HTTP server, it would be a super easy to configure HTTP server. But that isn’t its most impressive feature. Caddy’s simplicity really shines in how it handles SSL certificate renewals for you. Yes, it will handle the renewal for you.
Below is a sample Caddyfile. This will create the hosted endpoint “test.chadmichel.me”. And it requires no SSL configuration. It sets up the SSL certificate for you by using the ACME protocol.
If you need a super easy HTTP Server that does some SSL certificate creation and renewals for you, give Caddy a try.