我正在尝试使用内部 Ejabberd 网络服务器在 Ubuntu 12(Linode 最新版本)上使用 Ejabberd 设置 Strophe 来提供聊天服务。
测试网址(http-bind和admin)都可以工作。
JWChat 有效。
Strophe 抛出错误:
In Strophe:
RECV: <body xmlns='http://jabber.org/protocol/httpbind' type='terminate' condition='internal-server-error'>BOSH module not started</body>
In ejabberd.log:
E(<0.468.0>:ejabberd_http_bind:1236) :
You are trying to use BOSH (HTTP Bind) in host "admin", but the module mod_http_bind is not started in that host.
Configure your BOSH client to connect to the correct host, or add your desired host`
设置很简单(尽管花了很长时间才解决这个问题):
- 使用 sudo apt-get 安装
- 在 sudo 下运行
- 使用内部服务器,以避免弄乱代理或设置 PunJab。
- 在 ejabberd.cfg 中进行了更改。
对 ejabberd.cfg 的更改:
%% In listening ports, amended the following lines:
{ request_handlers, [
{["pub"], mod_http_fileserver},
{["http-bind"], mod_http_bind}
]},
%% In modules, added the following:
{ mod_http_fileserver, [
{docroot, "/var/lib/ejabberd/www"},
{accesslog, "/var/log/ejabberd/access.log"}
]},
{mod_http_bind, []},
任何帮助将非常感激。