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