我在 Debian Wheezy 上运行 Openfire 3.9.3。当我使用它时,它与服务器上注册的帐户配合良好。我在其他服务器上的帐户上遇到了问题。
我尝试在 im.6x8.org 和 im.apinc.org 上创建一个帐户。效果很好。然后我尝试在 jappix.com 上创建一个帐户,但遇到了以下问题:
- 我无法从 jappix 服务器查看我的账户状态,反之亦然
- 我可以从 jappix 帐户发送消息,并且我的本地帐户会接收它
- 当我从本地帐户向 jappix 发送消息时,它不起作用。在某些客户端中,我遇到了“未找到远程服务器”错误。
当我转到 openfire 控制台中的服务器会话时,我看到 jappix 只有一个传入连接,但 im.apinc.org 有两个。
在警告日志中,我发现了以下内容:
2014.12.05 08:12:52 org.jivesoftware.openfire.server.ServerDialback - ServerDialback: OS - Ignoring unexpected answer in validation from: jappix.com id: 7cf4a0dc-cad9-470a-80dc-d431dba5cfd1 for domain: xmpp.myserver.org answer:<stream:features xmlns:stream="http://etherx.jabber.org/streams"><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls><bidi xmlns="urn:xmpp:features:bidi"/><dialback xmlns="urn:xmpp:features:dialback"><errors/></dialback><sm xmlns="urn:xmpp:sm:2"><optional/></sm><sm xmlns="urn:xmpp:sm:3"><optional/></sm><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression></stream:features>
2014.12.05 08:12:52 org.jivesoftware.openfire.server.ServerDialback - ServerDialback: OS - Ignoring unexpected answer in validation from: jappix.com id: 7cf4a0dc-cad9-470a-80dc-d431dba5cfd1 for domain: xmpp.myserver.org answer:<stream:error xmlns:stream="http://etherx.jabber.org/streams"><policy-violation xmlns="urn:ietf:params:xml:ns:xmpp-streams"/><text xmlns="urn:ietf:params:xml:ns:xmpp-streams">TLS encryption is mandatory but wasn't used</text></stream:error>
更多日志在这里:http://pastebin.com/6nV0ytA8
在防火墙中,我打开了 tcp 端口 5222、5223、5269、7777、5229、7070 和 7443。
我花了很多时间试图解决这个问题,但一无所获,也没有任何想法。有人有想法吗?
提前致谢。
问候,
编辑 :
我刚刚看到 jappix 有安全连接,而其他的都没有。如果我强制使用,也会遇到同样的问题。我尝试用有效的证书更改证书,但没有任何变化。
答案1
从原始日志来看,我发现TLS encryption is mandatory but wasn't used
- jappix.com 显然需要您支持加密的 S2S 连接。
顺便说一句,您可以通过以下方式测试您的 XMPP 服务器(和其他服务器)https://xmpp.net/