我有一个RESTful Web服务,它是使用(Jax-Rs)在Wildfly 10上运行的。假设我在某个简单的 Web 服务器上运行了第二个 Web 应用程序。第二个webapp由html和javascript组成。
Ley说第二个应用程序托管在IP地址x.x.x.x上,客户端从他的IP地址访问该网页:y.y.y.y。
现在,实际发生的是作为我的第二个Web应用程序的一部分的javascript代码对托管在我的Wildfly服务器上(位于单独的域/IP上)上的RESTful Web服务进行Ajax调用。
javascript代码看起来像这样
$.post( 'z.z.z.z', { redirect_uri: "http://x.x.x.x/test.html", grant_type: "authorization_code", code: 'known_authz_code', client_id: "test_id", client_secret: "secret" } )
.done(function( data, status ) {
// some code here
});
现在,我知道javascript代码是在浏览器中下载和执行的,所以我认为我的Wildfly服务器(托管RESTful Web服务的地方)的IP地址将看到使用浏览器的客户端的IP地址(y.y.y.y),而不是javascript文件源自的Web服务器的IP地址(在本例中为x.x.x.x)。
- 这是对的吗?
- 如果是,有没有办法让我的 Wildfly 服务器知道调用 RESTful Web 服务的 javascript 文件的来源(在我的示例中为 x.x.x.x)?或者它只能看到浏览器发出请求的设备的 IP 地址(在我的示例中为 y.y.y.y)?
- 这是正确的。
- 据我所知,你绝对无法找到包含Ajax的Javascript来自哪个服务器的IP,只是从请求中。但是,您要做的是在将生成JS的服务器的IP包含在Ajax请求的参数中,然后再将其提供给客户端的浏览器。