Openfire和Strophejs网站 域名不同如何进行通信,这个问题总算解决,下面是解决步骤。
location /http-bind/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://A:7070/http-bind/;
}
注:nginx 端口是80,配置后访问 http://A/http-bind/ 即等同访问 http://A:7070/http-bind/
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <site-control permitted-cross-domain-policies="all"/> <allow-access-from domain="*" to-ports="5222,5223,7070,7443" secure="true"/> </cross-domain-policy>
<script src='strophe/strophe.js'></script> <script src='strophe/flXHR.js'></script> <script src='strophe/strophe.flxhr.js'></script>
2.3具体应用
<script src='strophe/basic.js'></script>
basic.js具体运用内容如下:
var BOSH_SERVICE = 'http://A/http-bind/'; var domain= 'A'; var connection = null; $(document).ready(function () { connection = new Strophe.Connection(BOSH_SERVICE); connection.rawInput = rawInput; connection.rawOutput = rawOutput; $('#connect').bind('click', function () { var button = $('#connect').get(0); if (button.value == 'connect') { button.value = 'disconnect'; connection.connect($('#jid').get(0).value+"@"+domain, $('#pass').get(0).value, onConnect); } else { button.value = 'connect'; connection.disconnect(); } }); });
具体下载:http://download.csdn.net/detail/caiping07/9388726