После очень активного поиска в Google выяснилось, что проблема в версии OpenSSL. Мой WordPress и прочее находятся на VPS с Ubuntu 20.04 и OpenSSL 1.1.1f, что является последней возможной версией, но Discourse работает под управлением 22.04, где используется OpenSSL 3.something.
Так что моя головная боль — это сервер с WordPress, а не Discourse.
Ну, мне стоит перейти на более новую версию Ubuntu. Да, и теперь мы глубоко в причинах, почему я так сильно не люблю все дистрибутивы Linux: мне нужно перенести десятки обычных сайтов WordPress, один WooCommerce, два Moodle, Postfix, Varnish с его дополнениями, воссоздать стек LAMP, но с MariaDB, пересобрать стек Nginx-Varnish-Apache, настроить cron-задачи и так далее. В последний раз, когда я это делал, это заняло три дня, и я даже не говорю о рабочих днях…
Что ж, это моя проблема, и только моя. Я это знаю. И теперь мне нужно принять решение: действительно ли моим пользователям нужна возможность входа на форум через OpenID с использованием WordPress в качестве провайдера.
Редактирование:
Я выполнил do-release-upgrade, и после короткого тестирования всё выглядит рабочим. В DigitalOcean что-то изменилось, потому что когда я пробовал переход с 18 на 20, это была полная катастрофа.
Но ничего не изменилось.
- OpenID не может получить данные обнаружения, хотя curl их видит
- OAuth по-прежнему выдаёт ошибку SSL
- DiscourseConnect не вариант, потому что он перехватывает всё
Я сдаюсь. Это не моё 
Редактирование
Боже, какой же я идиот
Поскольку прямая ссылка и curl к JSON обнаружения работали, я был абсолютно уверен, что ошибка должна быть на стороне Discourse. Теперь я проверил логи Nginx на сервере WordPress, и каждый раз, когда запрашивалось обнаружение, Nginx возвращал ошибку 444 — за исключением случаев, когда запрос делал я. После этого решение оказалось действительно простым: убрать Faraday из моего списка плохих ботов.
Не знаю. Эту тему следует удалить, так как она не связана с Discourse. Но, конечно, она может дать подсказку кому-то, кто мыслит чуть шире.