2012-10-31 1 views
3

내 컴퓨터에 ejabberd가 설치되어 실행 중입니다.ejabberd bosh와 함께 strophe를 사용하여 로컬 호스트의 jid 계정에 연결할 때 연결이 실패합니다.

localhost:5280/admin 

localhost:5280/http-bind 

또한 표시하고 "ejabberd mod_http_bind 허튼 소리 (XEP-0206)를 통해 XMPP의 구현은"나는 그것이 잘 작동 것 같아요.

Strophe와의 연결을 만들려고하면 연결 상태가 CONNFAIL이됩니다.

내 코드는 다음과 같이 간다 : 나는 CONNFAIL가 계속

var conn = new Strophe.Connection('http://localhost:5280/http-bind'); 
conn.connect(data.jid, data.password, function (status) { 

// [email protected] 


if(status===Strophe.Status.CONNECTING){ 

alert('connecting...!!'); 

} 

if(status===Strophe.Status.AUTHFAIL){ 

alert('auth failure...!!'); 

} 

if(status===Strophe.Status.CONNFAIL){ 

alert('connection falied !!'); 

}} 

.

또한 apache httpd.conf 파일에 http://localhost:5280/http-bind에 대한 프록시 엑스퍼트를 추가했습니다.

문제점을 파악할 수 없습니다.

답변

1

ejabberd가 Bosh 요청을 실제로 수신하는지 여부를 디버깅하려면 {log_level, 5} (eXabberd를 /etc/ejabberd/ejabberd.cfg 파일에 설정)으로 다시 시작하십시오. 그런 다음 스트립을 사용하여 ejabberd에 연결할 때 tail -f /var/log/ejabberd/ejabberd.log을 수행하여 로그를 살펴보십시오. 아무 것도 표시되지 않으면 요청이 프록시 컨텍스트 내에서 실패하고 있음을 의미합니다. 당신이 뭔가를 볼 수 있다면 친절하게 우리가 당신을 도울 수 있도록 관련 로그로 질문을 업데이트하십시오. 나는 ejabberd.cfgejabberd.log 표준 설치 경로를 가정 :

$ sudo ejabberdctl debug 
.... 
Eshell V5.8.5 (abort with ^G) 
([email protected])1> ejabberd_loglevel:set(5). 
{module,ejabberd_logger} 
([email protected])2> 

참고 :

다른 방법으로 당신은 ejabberd 디버그 쉘을 통해 즉시 log_level를 업데이트 할 수 있습니다. 대체 설치 접두사가있는 경우 그에 따라 경로를 친절하게 업데이트하십시오.

+0

이 디버깅 방법으로 고맙습니다 ... 문제가 해결되었습니다 ... 아파치 설정에서 bosh에 대한 프록시와 관련된 문제가 있습니다 ... – Arthas

+0

아, 문제가 무엇인지 정말 말해야합니다! 매우 유사한 문제가있어서 해결책이 무엇인지 알았을 것입니다. – drewww

관련 문제