对 ip 的 REST 调用不起作用,但 localhost 可以工作

问题描述 投票:0回答:2

我用java实现了一个http服务器(glassfish grizzly)。

如果我向 localhost:3000/api/... 提交 REST GET,我会按预期收到响应。

如果我使用我的 IP (192.168.0.100:3000/api...) 提交 REST GET,我会收到“无响应错误”。

当我在同一网络中的另一台计算机(192.168.0.200)上启动该java应用程序时,行为完全相同。对 192.168.0.100:3000/api... 的 GET 请求也会导致“无响应错误”。

我错过了什么吗?

java rest postman grizzly
2个回答
0
投票

配置 GlassFish 以使用正确的 HTTP 侦听器。

https://docs.oracle.com/cd/E19776-01/820-4495/ggnfu/index.html

例如,HTTP 监听器可以通过指定 IP 地址 0.0.0.0 来监听主机给定端口上所有配置的 IP 地址。或者,HTTP 侦听器可以在使用相同端口时为每个侦听器指定唯一的 IP 地址。

要么在地址

0.0.0.0
上定义一个侦听器以侦听主机的所有地址,或者更具体地告诉它仅侦听地址
192.168.0.100


0
投票

您面临的问题是cors限制:确保您的API服务器配置为允许来自您正在使用的域或IP地址的请求。如果CORS配置不正确,浏览器可能会阻止来自不同来源的请求。您还可以从 Chrome 网上商店下载允许 cors 扩展。谢谢

© www.soinside.com 2019 - 2024. All rights reserved.