Tenho o Discourse configurado como proxy reverso atrás do Caddy, e descobri que a solução era adicionar
header_up X-Real-IP {remote_host}
à seção reverse_proxy no meu Caddyfile, algo que eu não precisava fazer antes.
Percebi que o X-Real-IP era necessário devido à mensagem de erro semelhante em esta publicação.
Espero que isso ajude alguém com um problema semelhante.