最近因为工作的关系开发一个基于xmpp 协议的即时通讯项目,服务器用ejabberd ,web 应用程序部署在tomcat ,
两个服务器在不同的domain,碰到垮域访问的问题,需在ejabberd 配置安全策略文件。具体解决方法:
如何解决ejabberd 的跨域问题
1, 当应用程序的部署和ejabberd的部署不在一个domain 的时候,由于使用strophe.js 的插件flxhl.js 来与xmpp 服务器通讯。就会出现跨域问题,解决方法就是在ejabberd 服务器端放置crossdomain.xml 策略文件
如:http://192.168.0.101:5280/crossdomain.xml可以访问到策略文件就说明正确配置了,具体配置如下:
A、 修改ejabberd.cfg文件
这样配置后就可以访问倒策略文件了,但web-admin 管理页面登陆不进去了,再修改一下ejabberd.cfg 的监听端口配置,添加一个5281端口来处理web-admin
同时把原来原来的5280 端口的web_admin 注释掉
最后把crossdomain.xml 文件放到docroot 下即可,crossdomain.xml 文件内容如下:
来源:oschina
链接:https://my.oschina.net/u/117320/blog/14629