使用ejabberd进行文件传输

4

我有一个使用ejabberd2的聊天应用程序。现在,我需要通过聊天消息传输文件。我只需在ejabberd.cfg文件中配置mod_proxy65并打开端口7777。但发送文件失败了。

myejabberd.cfg设置

{mod_proxy65,  [
                  {ip, {118,132,178,95}},
                  {name, "SOCKS5 Bytestreams"},
                  {host, "proxy.amadoa.org"}
                 ]},

有人知道如何在ejabberd2中启用mod_proxy65吗?我需要安装任何其他模块吗?

非常感谢帮助。


当文件传输失败时会发生什么?尝试捕获涉及的XMPP数据包,这可能会揭示根本原因。 - Flow
嗨 Vks:我能和你聊聊吗 http://chat.stackoverflow.com/rooms/64981/ejabberd-with-mysql - HIRA THAKUR
@vks,你好vks,你有关于发送文件的答案吗?如果有,请发布答案。我也遇到了同样的问题。 - Mulagala
1个回答

3

大多数人将主机与ejabberd配置中的主机名混淆,主机名是您应该提供公共IP或www.domain.com的地方,而主机是您为ejabberd服务器指定的逻辑名称;默认为proxy.domain.com。

此外,IP地址是Ejabberd侦听的接口的IP,因此它应该是本地地址。例如:192.168.1.10监听一个接口,或者0.0.0.0在所有接口上监听,或者127.0.0.1仅允许本地文件传输。

我使用的配置示例:

{mod_proxy65,  [
                  {host, "proxy.domain.com"}, %% defines the Jabber ID of service. If not specified, Jabber ID will be hostname of  the virtual host with the prefix 'proxy'.

                  %%{ip, {192,168,1,90}}, %% this line works, or use the below line
                  {ip, {0,0,0,0}}, %% 127.0.0.1 by default, make it 0.0.0.0 to listen on all interfaces, or the ip of specific interface

                  {hostname, "www.domain.com"}, % useful service run behind a NAT. default is value of ip option. Ex: "proxy.mydomain.org", "200.150.100.50"
                  {port, 7777}, %% Default, we don't need to add
                  {access, all}, %% Default, we don't need to add
                  {shaper, c2s_shaper}
                 ]},

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接