需要帮助来理解为什么 gtalk 不会与我的 xmpp 服务器通信(如果它服务于根域)。子域和其他域都可以。

需要帮助来理解为什么 gtalk 不会与我的 xmpp 服务器通信(如果它服务于根域)。子域和其他域都可以。

就本文的目的而言,根域名为 example.com。

我有一个在 Debian 6 上运行的 XMPP 服务器 (ejabberd)。

在客户端(Pidgin、Adium)中,当我尝试添加 gtalk xmpp 帐户作为联系人时,我收到“未授权”消息,以及 404 和 503 错误(下面的调试输出)。

虽然这可能表明 ejabberd 配置错误,但如果我将 XMPP 服务器配置为托管 chat.example.com,则添加 gtalk 用户就可以正常工作。如果 XMPP 服务器托管 secondexample.com,情况也是如此。

也许这是 DNS 问题?好吧,我查看了 DNS、主机文件,并验证了它们是正确的。但为了以防万一,我删除并替换了它们。

服务器搭建好了吗?我已经从头开始重建了。同样的问题。网络?我已经在其他网络上尝试过了。

我已经没什么主意了。

gtalk 可以将服务器列入黑名单吗?是错误吗?

如果您有任何想法,我们将不胜感激。

Pidgin 客户端的 XMPP 控制台输出为“[电子邮件保护]'尝试添加用户时'[电子邮件保护]':

<iq type='result' to='example.com' id='2188721256'/>
<iq type='set' id='purplec8d28432'>
    <query xmlns='jabber:iq:roster'>
        <item jid='[email protected]' name=''>
            <group>Buddies</group>
        </item>
    </query>
</iq>
<presence to='[email protected]' type='subscribe'/>
<iq from='[email protected]' to='[email protected]/test' id='push524344776' type='set'>
    <query xmlns='jabber:iq:roster'>
        <item subscription='none' jid='[email protected]'>
            <group>Buddies</group>
        </item>
    </query>
</iq>
<iq type='result' id='push524344776'/>
<iq from='[email protected]' to='[email protected]/test' id='purplec8d28432' type='result'/>
<iq from='[email protected]' to='[email protected]/test' id='push1181680121' type='set'>
    <query xmlns='jabber:iq:roster'>
        <item ask='subscribe' subscription='none' jid='[email protected]'>
            <group>Buddies</group>
        </item>
    </query>
</iq>
<iq type='result' id='push1181680121'/>
<presence from='[email protected]' to='[email protected]/test' type='error'>
    <error code='404' type='cancel'>
        <remote-server-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
    </error>
</presence>

答案1

已解决。问题出在 gtalk 的内部 DNS 上。

事实证明,其前任 6 年前为该域名开设了一个(免费)Google Apps 帐户,5 年前停止使用它,从未告诉任何人,并且可能自己忘记了它。

这意味着当[电子邮件保护]尝试聊天[电子邮件保护],内部记录显示@example.com 使用的是 gtalk 服务,而不是我设置的 ejabberd 服务。因此不会有任何响应,也没有授权。

这个问题最令人烦恼的是,我能找到的所有 NS 记录都表明我已正确设置,包括 dig srv _xmpp-server._tcp.example.com。@8.8.8.8

无论如何,一旦我发现了该帐户,我就会拒绝 gtalk 服务,现在一切正常。

相关内容