我们的网络上有 2 个内部(Intranet)Windows 服务器,仅可用于本地网络。安装了Spark server1
,我们可以像这样查询 Jabber 信息:
http://server1/plugins/presence/status?jid=username@jabbersrv&type=text
在server2
Spiceworks 上安装了,我写了一个插件来查询 Jabber 状态,如下所示:
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", "http://server1/plugins/presence/status?jid=username@jabbersrv&type=text", false );
xmlHttp.send( null );
statusStr = xmlHttp.responseText;
但是这段代码(on server2
)返回一个错误:
XMLHttpRequest cannot load http://server1/plugins/presence/status?jid=username@jabbersrv&type=text. Origin https://server2 is not allowed by Access-Control-Allow-Origin.
为什么这不起作用?我有一些 VB.net 代码可以在相同的环境中完成此任务:
Dim jbrStatus As New System.Net.WebClient
Dim userStatus As String = jbrStatus.DownloadString("http://server1/plugins/presence/status?jid=username@jabbersrv&type=text")
尽管 Openfire 在server1
. 由于它们是内部的(在同一个域上),这两个服务器是否应该本质上不相互信任?让它在 Windows 域和 Windows 服务器上工作的最佳方法是什么?
我尝试将 server2 域服务器添加为 server1 上的本地管理员,但没有运气。