大家好!我查阅了与我问题相关的旧帖,但未找到解决方案,因此在此发帖求助。
我有一个 WordPress 网站(托管在服务器 A 上),它连接到一个 Discourse 论坛(托管在服务器 B 上),并作为该论坛的 SSO 提供者。
最近我更换了 WordPress 的托管服务商(迁移至服务器 C——新的托管公司),并同时将 DNS 服务商从 Google 切换到了 Gandi。我仔细复现了 DNS 设置(@记录指向新 IP,www 记录设为 CNAME,forum 记录保持原有 IP 不变);论坛仍保留在服务器 B 上。
现在 WordPress 提示连接已断开,在尝试发布时出现 curl 6 错误(无法解析主机;未知错误)。同时我还收到一条提示:“不存在邮箱地址为 xyz@mydomain.net 的管理员”,我推测如果连接未建立,这应该是正常现象。
有任何线索或建议该从何处排查吗?我已经联系新的托管服务商检查防火墙设置,他们表示一切正常,并建议我联系插件开发者。
先谢过大家!
1 个赞
bartv
(Bart )
2
从服务器 C 的命令行执行 nslookup 是否返回了服务器 B 的正确 IP 地址?
2 个赞
bartv
(Bart )
4
真倒霉
那反过来呢?我不是 SSO 专家,但我认为服务器 B 需要回调到服务器 C?如果它还在某处保留着服务器 A 的 IP 地址,那可能会失败。
1 个赞
您是否尝试过卸载 WP Discourse 插件,然后重新安装?过去我发现,如果不这样做,该插件无法处理服务器变更。
1 个赞
angus
(Angus McLeod)
7
嘿,Romain,可能有几个不同的原因。
我们最近为插件添加 日志基础设施 的目的,就是为了直接诊断这类问题。我们很快也会为连接功能添加日志记录,但目前它仅在发布功能中生效。
发布日志中的连接问题不太可能提供有用的信息。不过,既然你提到了发布尝试,请先检查 WP Discourse 插件管理面板中的“日志”部分。你可以分享日志中的某一行,或者通过私信将完整日志发给我。此外,我建议你重新生成 Discourse 的 API 凭据,并在插件中应用这些新凭据,以排除相关原因。
除此之外,虽然我不希望将此变成与你主机服务商的针锋相对,但无法对某个域名执行 cURL 操作,通常表明是环境问题,而非插件问题。如果你在此处搜索类似错误,会发现 @simon 一直在热心帮助许多人诊断这些实质上的环境问题。例如(包含一些可能的诊断工具),请参阅:
我建议你进一步向你的主机服务商施压,询问他们为何无法对某个域名发起 cURL 请求。如果他们有更具体的理由认为这是 WP Discourse 插件的问题,而不是服务器上的 cURL 版本不正确(从表面看,后者更有可能),欢迎他们在此发帖,或直接私信我,我很乐意与他们进一步排查。
2 个赞
@jtbayly 我尝试了卸载并重新安装,但问题依旧。
@angus 你可能说对了。在安装 TLS 测试插件时,我收到了一个错误,看起来更新 curl 或许能解决。
不过,鉴于托管公司关于更新 curl 的回复是:“此处安装的 cURL 版本是 CentOS 仓库中最新的官方版本。
因此我们使用的是该版本,而非开发者官网提供的最新版本。
CentOS 对于向官方仓库推送新版本非常谨慎,因为在发布前会对软件进行大量测试,以确保其在各种情况下都能稳定运行。
一旦新版本在官方 CentOS 仓库中发布,我们的系统也会随之更新。”
看来这条路恐怕走不通了,我可能只能再次更换托管商了。
1 个赞
angus
(Angus McLeod)
9
在做出切换之前,或许可以提醒他们,不支持 TLS 1.2 会导致某些 WordPress 插件无法正常运行,并且其本身也存在一些安全问题。不过,这仍然值得进一步探讨。
无论如何,是的,这似乎就是您遇到的问题。
1 个赞
我会尽力尝试,因为“我无法容忍不去尝试”(M.乔丹,哲学家;)不过他们在这件事上似乎已经拿定主意了。
旧主机在 Ubuntu 上使用的是 7.68 版本。
感谢您的帮助!
3 个赞
system
(system)
关闭
11
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.