【问题标题】:Enabling mod_proxy65 on ejabberd server installed on ec2 ubuntu instance在安装在 ec2 ubuntu 实例上的 ejabberd 服务器上启用 mod_proxy65
【发布时间】:2013-05-13 12:30:10
【问题描述】:

我正在开发一个 iOS 聊天应用程序,所以为了让媒体传输工作我需要启用 mod_proxy65,并且我在 ejabberd.cfg 文件中启用了相同的默认设置:{mod_proxy65[]}。在客户端,我正在使用适用于 iOS 的https://github.com/robbiehanson/XMPPFramework xmpp 框架。 在 TURNSocket.m 中,我使用代理候选者 dev.myserver.com 代替默认的 jabber.org 。现在当我尝试打开TURN连接时,接收和发送的iq系列如下:

发送:<iq type="get" to="dev.myserver.com" id="A9876DD0-B13C-4DC7-B812-2A6E653288BC"><query xmlns="http://jabber.org/protocol/disco#items"/></iq>

RECV:<iq xmlns="jabber:client" from="dev.gungroo.com" to="smita@dev.myserver.com/24983171131368877324197828" id="A9876DD0-B13C-4DC7-B812-2A6E653288BC" type="result"><query xmlns="http://jabber.org/protocol/disco#items"><item jid="conference.dev.myserver.com"/><item jid="irc.dev.myserver.com"/><item jid="proxy.dev.myserver.com"/><item jid="pubsub.dev.myserver.com"/><item jid="vjud.dev.myserver.com"/></query></iq>

发送:<iq type="get" to="proxy.dev.myserver.com" id="26D694FB-C679-478C-A3D1-A84B9A583534"><query xmlns="http://jabber.org/protocol/disco#info"/></iq>

RECV:<iq xmlns="jabber:client" from="proxy.dev.myserver.com" to="smita@dev.myserver.com/24983171131368877324197828" id="26D694FB-C679-478C-A3D1-A84B9A583534" type="result"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="proxy" type="bytestreams" name="SOCKS5 Bytestreams"/><feature var="http://jabber.org/protocol/disco#info"/><feature var="vcard-temp"/><feature var="http://jabber.org/protocol/bytestreams"/><x xmlns="jabber:x:data" type="result"><field var="FORM_TYPE" type="hidden"><value>http://jabber.org/network/serverinfo</value></field></x></query></iq>

发送:<iq type="get" to="proxy.dev.myserver.com" id="C60068A2-985C-4C5C-87B3-C9FFFB41FDF0"><query xmlns="http://jabber.org/protocol/bytestreams"/></iq>

RECV:<iq xmlns="jabber:client" from="proxy.dev.gungroo.com" to="smita@dev.myserver.com/24983171131368877324197828" id="C60068A2-985C-4C5C-87B3-C9FFFB41FDF0" type="result"><query xmlns="http://jabber.org/protocol/bytestreams"><streamhost jid="proxy.dev.myserver.com" host="10.212.103.159" port="7777"/></query></iq>

这就是问题所在,它返回给我服务器 dev.myserver.com 的内部 IP 地址(10.212.103.159),导致 TURN 连接失败。为什么它不返回 proxy.dev.myserver.com 的外部 IP 地址? 在同一页面上:proxy.dev.myserver.com 和 dev.myserver.com 都指向相同的外部 IP。并且端口 7777 在我的服务器 dev.myserver.com 上打开。有谁用过同样的方法,请帮忙?? 这是显示错误消息的最后一个 iq(发送和接收):

发送

<iq type="set" to="smita1@dev.myserver.com/38303823331368691199448799" id="2D376DBF-D437-48C8-B0FF-B10A5CD73240">
    <query xmlns="http://jabber.org/protocol/bytestreams" sid="2D376DBF-D437-48C8-B0FF-B10A5CD73240" mode="tcp">
        <streamhost xmlns="http://jabber.org/protocol/bytestreams" jid="proxy.dev.myserver.com" host="10.212.103.159" port="7777"/>
    </query>
</iq>

RECV

<iq xmlns="jabber:client" from="smita1@dev.myserver.com/38303823331368691199448799" to="smita@dev.myserver.com/278621573136869119737843" type="error" id="2D376DBF-D437-48C8-B0FF-B10A5CD73240">
    <query xmlns="http://jabber.org/protocol/bytestreams" sid="2D376DBF-D437-48C8-B0FF-B10A5CD73240" mode="tcp">
       <streamhost xmlns="http://jabber.org/protocol/bytestreams" jid="proxy.dev.myserver.com" host="10.212.103.159" port="7777"/>
    </query>
    <error type="cancel" code="501">
        <feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
    </error>
</iq>

如果有人能指出我的问题,那就太好了。谢谢!

【问题讨论】:

  • 也许您没有从内部网络外部访问?
  • 虽然为时已晚,请从jabbed.yml 文件中取消注释此##mod_proxy65: {} 并将其设为mod_proxy65: { host: "proxy.@HOST@" }

标签: iphone ios proxy xmpp xmppframework


【解决方案1】:

【讨论】:

  • 嘿,首先我已经看到了这两个链接,但没有帮助。在 ejabberd conig 中,我没有找到像 xmpp.externalip 这样的设置,正如他们在 openfire 中提到的那样,当我尝试使用 {mod_proxy65[{ip,{xx,xx,xx,xx}}]} 等 ip 设置启用 mod_proxy 时,其中 xx.xx.xx.xx 是安装 ejabberd 的服务器的外部 ip,然后服务器拒绝重新启动并出现错误,ip 已被占用。我也在使用 xep-0065,xep-0096 仅用于文件传输而不是其他媒体。
【解决方案2】:

这帮助我解决了这个问题。 xx.xx.xx.xx 是我的外部 IP: {mod_proxy65, [{主机名, ["xx.xx.xx.xx"]}]},

【讨论】:

  • 有谁知道如何在 Ejabberd 现在使用的新 YML 配置格式中进行此设置?
猜你喜欢
  • 2011-07-17
  • 2016-08-22
  • 2022-08-22
  • 1970-01-01
  • 2019-03-13
  • 1970-01-01
  • 2014-06-26
  • 1970-01-01
  • 2019-03-07
相关资源
最近更新 更多