如何将相同的源策略应用于IP地址

时间:2010-04-21 22:03:55

标签: javascript jquery same-origin-policy

我的公司内部网上有一台运行JBoss的服务器。我想从我的机器(也在Intranet上)向此服务器发送API调用,并使用JQuery获取生成的XML响应。

我读了Wikipedia上的条目,但我很困惑这是如何适用于我的情况,因为我们的机器只有IP地址,而不是域名。

我有

  • 服务器网址:10.2.200.3:800 / serviceroot / service
  • 客户端IP地址:10.2.201.217

我的问题是:

  1. 据我所知,这些是不同的域名,对吧?所以我必须使用代理向服务器发出JQuery.ajax调用
  2. 如果我想避免做(2),我可以在服务器上安装Apache并在那里使用JS代码形式服务器页面吗?但是JS将从10.2.200.3开始,服务器将在10.2.200.3:8001。根据政策,这些被认为是不同的域名吗?
  3. 谢谢!

2 个答案:

答案 0 :(得分:2)

  1. 是的,不同的端口意味着不同的起源。这是大多数浏览器在JS中已经做了一段时间的事情,但它在HTML5 draft中明确描述,由XMLHttpRequest draft引用。

  2.   

    如果A和B的端口组件不相同,则返回false。

答案 1 :(得分:2)

如果端口或地址不同,则它们是不同的域。如果您需要从有效的另一台服务器访问信息,您真的有两个选择。一种是编写某种反向代理,将您的请求从同一个源服务器传递到辅助服务器。

或者,如果您控制辅助目标,并且在提供直接访问方面没有安全风险,您可以考虑调整辅助服务器以发出JSON-P响应。