2014-02-09 40 views
2

我剛剛在遠程服務器上安裝了ejabberd。 假設遠程服務器的IP爲123.123.123.123,其內部IP地址爲10.0.0.10Ejabberd webadmin訪問超時

然後,我編輯:

/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 

和,通過在服務器123.123.123.123執行所述SSH以下加入admin作爲管理員用戶:

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

THINGS不工作:

Howeve r,管理控制檯myexample.com:5280/admin無法訪問(超時)。我也試過123.123.123.123:5280/admin,但失敗了。

東西在工作了:

然而,從服務器的控制檯,如果我訪問10.0.0.10:5280/admin,它的工作原理。另外,我可以確認用戶admin通過執行登記以下內容:

ejabberdctl registered_users 

問題:

如何讓我的訪問WebAdmin的(或更重要的是,從它的外部IP或域名訪問任何端口)工作?

回答

1

這可能只是一個連接問題。 這是我會怎麼做:

  1. 「須藤netstat的-nap | grep 5280'(或等效)來驗證ejabberd在哪個接口上監聽webadmin

  2. 如果它正在監聽我所期望的「all」(0.0.0.0),那麼請驗證它的可達性,如'telnet 123.123.123.123 5280' 。如果無法連接,請檢查服務器的防火牆(例如'sudo iptables -L -n -v')。

您可能只需要爲要連接的源主機「打開」123.123.123.123:5280。

+0

謝謝!外部IP的端口5280被關閉。打開港口只是解決了問題! –

+1

不客氣:) – giavac

+0

@ J.Berman我們怎樣才能使港口開放。謝謝! – sad