# Faraday::SSLError（SSL\_read：读取过程中意外的 eof）

**URL:** https://meta.discourse.org/t/faraday-sslerror-ssl-read-unexpected-eof-while-reading/341145
**Category:** SSO
**Tags:** oauth2
**Created:** [2024年十二月7日 21:10 UTC](https://meta.discourse.org/t/faraday-sslerror-ssl-read-unexpected-eof-while-reading/341145 "2024-12-07T21:10:54Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [2024年十二月7日 21:10 UTC](https://meta.discourse.org/t/faraday-sslerror-ssl-read-unexpected-eof-while-reading/341145/1 "2024-12-07T21:10:54Z")

</div>

我正在尝试让 OAuth2 在论坛和 Wordpress 之间工作。但现在当我登录到 Wordpress 并返回到 `https://forum/auth/oauth2_basic/callback` 时，我会得到一个 Oops，日志显示 `Faraday::SSLError (SSL_read: unexpected eof while reading)`。

这是什么意思？它指的是谁的 SSL？谷歌搜索结果经常表明这是 OpenSSL 版本相关的错误，但是在哪一端呢？不过那些建议大约是 2 年前的了。

而且我确实经常犯配置错误……

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [2024年十二月8日 16:25 UTC](https://meta.discourse.org/t/faraday-sslerror-ssl-read-unexpected-eof-while-reading/341145/2 "2024-12-08T16:25:34Z")

</div>

经过一番积极的谷歌搜索，看起来问题出在 OpenSSL 的版本上。我的 WordPress 等运行在 Ubuntu 20.04 的 VPS 上，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](https://meta.discourse.org/t/13045?silent=true) 不是一个选项，因为它会劫持一切

我放弃了。这不适合我 🤷‍♂️

编辑  
天哪，我真笨 🤦‍♂️ 因为直接链接和 curl 到发现 JSON 可以工作，所以我非常确定问题一定出在 Discourse 端。现在我检查了 WordPress 服务器上 Nginx 的日志，每次请求发现信息时，Nginx 都会返回 444 错误 — 除非是我自己发起的。之后解决方案真的很简单：从我的垃圾机器人列表中移除 Faraday。

我不知道。这个话题应该被删除，因为它与 Discourse 无关。但当然 — 它可以给那些思考更广泛的人一些提示。

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [2025年一月7日 16:26 UTC](https://meta.discourse.org/t/faraday-sslerror-ssl-read-unexpected-eof-while-reading/341145/3 "2025-01-07T16:26:25Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
