我在尝试与两个注册用户聊天时遇到此错误
04:54:07.632 [warning] Failed to establish outbound s2s connection host -> user: DNS lookup failed: non-existing domain; bouncing for 74 seconds
这一切都在我的局域网上,因为目的是只在局域网上聊天,我使用 dnsmasq 作为解析器,没有任何问题。我确保所有证书都没有问题。
答案1
这一切都在我的局域网上,因为我的目的是只在局域网上聊天
完美,所以让我们假设您在 ejabberd.yml 中像这样配置了 ejabberd:
hosts:
- "host"
尝试在两个注册用户之间聊天
好的,那么假设你注册了两个账户,你可以登录它们bob@host
:user@host
无法建立出站 s2s 连接主机 -> 用户:DNS 查找失败:不存在域;反弹 74 秒
通过该日志消息,看起来就像您登录了帐户bob@host
,并尝试将具有 JID 的帐户添加为联系人user
。
这是错误的,因为您只提供了 JID 的用户名部分。
解决方案:您必须提供裸 JID,其中包括用户名和服务器,例如:user@host
。因此,让我重复一遍:即使您的 ejabberd 配置只有一个主机,即使您只计划让本地用户与其他本地用户聊天……在客户端中,您必须始终提供裸 JID,其中包括用户名和服务器名。