openfire + strophe.js + apache http + tomcat7

来源:互联网 发布:雪肌精乳液好用吗 知乎 编辑:程序博客网 时间:2024/05/17 06:15

openfire 3.9.3

strophe.js 1.3

apache http 2.2.25

 

所以的安装都是在本机

 

1.openfire的安装

   解压官网的压缩包,直接运行bin中的启动文件,依据向导设置即可,没有特别需要注意的地方

 

2.web连接,如果不在同一个域,则需要设置带来,参照网上的nagix没设置成功,apache设置如下

ProxyRequests Off
ProxyPass /http-bind http://127.0.0.1:7070/http-bind/
ProxyPassReverse /http-bind http://127.0.0.1:7070/http-bind/

 

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so

 

打开注释了的代理模块

 

注:当用web请求时,可以查看apache的日志, 看是否日志记录已通过代理访问,判断是代理没配置对问题还是xmpp服务器问题

 

3.bosh连接,openfire需要在HTTP设置中打开bosh相关属性为true,界面上面配置很清楚明了.

4.解压strophe.js,将examples文件夹直接放到web项目中的webroot中,

打开basic.js设置

var BOSH_SERVICE = 'http://localhost/http-bind';  //默认会通过代理请求到http://127.0.0.1:7070/http-bind/

 

5.浏览器访问basic.html

输入jid:如   test@localhost  密码

需有此用户存在

 

当点击connect的时候,openfire日志会提示错误如下:

2014.10.26 11:39:48 org.jivesoftware.openfire.http.HttpBindServlet - Client provided invalid session: 6c9e5f4. [127.0.0.1]

 

strophe的响应xml时:not-验证

一直通过搜索这些信息查询,最后还是没有找到原因。

 

最后ecplise中调试openfire源码,发现是javax.security.sasl.SaslException: DIGEST-MD5: digest response format violation. Mismatched URI: xmpp/localhost; expecting: xmpp/mydomain 

(mydomain是openfire的域名)

将登陆的jid修改为test@mydomian  既可以正常访问和接受消息

0 0
原创粉丝点击