У меня Discourse настроен через обратный прокси Caddy, и оказалось, что решение заключалось в добавлении
header_up X-Real-IP {remote_host}
в раздел reverse_proxy в моем Caddyfile, чего раньше не требовалось.
Я понял, что X-Real-IP необходим, благодаря аналогичному сообщению об ошибке в этом посте.
Надеюсь, это поможет кому-то с похожей проблемой.