I really loves Caddy, it has replaced nginx in my go-to HTTP server. It's really simple and powerfull, one nice example is how simple you can deploy applications with zero downtine [1].
On testing HTTP requests, I'd suggest Hurl [2], (I'm one of the maintainer). You will trade Ruby unit tests for a tailored HTTP text file format but I think it can shine for this kind of migration. Tests will be run in parallel, really fast.
For instance, test_site_is_up.rb will be replaced by a simple text file:
GET https://alexwlchan.net
HTTP 200
[Asserts]
body contains "This website is a place to share stuff I find interesting or fun."
GET https://alexwlchan.net/articles/
HTTP 200
[Asserts]
body contains "Articles"
# etc...
Testing alternate domains (test_alternate_domains.rb) could be: GET http://alexwlchan.net
HTTP 308
Location: https://alexwlchan.net/
GET http://alexwlchan.net/contact/
HTTP 301
Location https://alexwlchan.net/
# etc...
Give it a try![1]: https://www.lambrospetrou.com/articles/server-deploy-scripts...
[2]: https://hurl.dev