为什么要修改?
在我的测试环境中,客户端采用XIFF 3.0.0BETA版本的FLASH客户端连接ejabberd服务器,ejabberd服务器没有提供类似于openfire那样的专门提供crossdomain.xml的跨域调用授权文件服务端口,FLASH客户端通过HTTP-BIND方式连接80端口的(方便穿越防火墙)ejabberd服务器,而我又不想在实际的环境中开启多个HTTP服务器来专门提供一个crossdomain.xml,所以直接采用ejabberd的http_fileserver模块来提供服务。
其他方法?
1:修改ejabberd服务器的源代码,修改ejabberd_c2s.erl文件,如果客户端请求策略文件,则输出策略文件内容。
2:在同一个服务器安装apache/nginx/lighttp这样的WEB服务器来专门提供。
最终方式!
修改mod_http_fileserver源代码,
代码路径:ejabberd-modules/mod_http_fileserver/trunk/src/web
文件名:mod_http_fileserver.erl
在 后插入: