Ejabberd webadmin访问超时

时间:2014-02-09 02:59:49

标签: xmpp ejabberd

我刚刚在远程服务器上安装了ejabberd。 假设远程服务器的IP为123.123.123.123,其内部IP地址为10.0.0.10

然后,我编辑了:

/etc/ejabberd/ejabberd.cfg

%% ... more codes
%% Options which are set by Debconf and managed by ucf

%% Admin user
{acl, admin, {user, "admin", "myexample.com"}}.

%% Hostname
{hosts, ["myexample.com"]}.

%% ... more codes
{5280, ejabberd_http, [
                         %%{request_handlers,
                         %% [
                         %%  {["pub", "archive"], mod_http_fileserver}
                         %% ]},
                         %%captcha,
                         http_bind,
                         http_poll,
                         web_admin
                        ]}
%% ... more codes

并通过在服务器admin的ssh中执行以下内容,以管理员用户身份添加123.123.123.123

root:# ejabberdctl register admin myexample.com adminpassword
root:# service ejabberd restart

不能正常工作:

但是,管理控制台myexample.com:5280/admin无法访问(超时)。我也试过123.123.123.123:5280/admin,但失败了。

正在运作:

但是,从服务器的控制台,如果我访问10.0.0.10:5280/admin,它可以正常工作。此外,我可以通过执行以下命令来确认用户admin已注册:

ejabberdctl registered_users

问题:

如何访问webadmin(或者更重要的是,从其外部ip或域访问任何端口)?

1 个答案:

答案 0 :(得分:1)

这可能只是一个连接问题。 这就是我要做的事情:

  1. 'sudo netstat -nap | grep 5280'(或等效的)来验证ejabberd正在监听webadmin的接口

  2. 如果它按照我的预期收听“all”(0.0.0.0),那么用'telnet 123.123.123.123 5280'验证它的可达性。如果无法连接,请检查服务器的防火墙(例如'sudo iptables -L -n -v')。

  3. 你可能只需要为你正在连接的源主机“打开”123.123.123.123:5280。