2014-02-09 1 views
2

방금 ​​원격 서버에 ejabberd를 설치했습니다. 원격 서버의 IP가 123.123.123.123이고 내부 IP 주소가 10.0.0.10이라고 가정 해 봅시다.Ejabberd 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 

사항이 작동하지 않음 :

하울 r, 관리 콘솔 myexample.com:5280/admin에 연결할 수 없습니다 (시간 초과). 나는 또한 123.123.123.123:5280/admin을 시도했지만 실패했습니다.

사항 WORKING : 나는이 10.0.0.10:5280/admin에 액세스하는 경우

그러나, 서버의 콘솔에서, 그것은 작동합니다. 또한, 나는 사용자 admin가 실행하여 등록을 확인 할 수있는 사항은 다음과 같습니다

ejabberdctl registered_users 

질문 : 나는 더 중요한 액세스으로 WebAdmin을 (또는 어떻게

, 외부의 IP 또는 도메인에서 모든 포트에 접근) 작동합니까?

답변

1

이것은 연결 문제 일 수 있습니다. 이것은 내가 할 줄 것입니다 :

  1. 'sudo를에서 netstat -nap | grep 5280 '(또는 동급)을 사용하여 ejabberd가 웹 관리자를 청취중인 인터페이스를 확인하십시오.

  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