I mean, use what you want. But caddy is significantly easier to configure. It additionally handles SSL and protects your proxy targets with zero configuration (by default) and supports live configuration reload via the admin interface. It's tits.
Here's my config: http://i.xno.dev/u/fc8N0n.png
Caddy is running a wildcard SSL cert, so once I've connected my box to cloudflare, I can setup a subdomain by simply adding it to my caddy config. No additional setup is required. It also works directly with docker, so if you install the lemmy (name of the container) docker container, you can reverse_proxy by simply (assuming they're on the same docker network):
lemmy.domain.com {
reverse_proxy lemmy:80
}