【问题标题】:RESTful web applications using WAN IP instead of localhost使用 WAN IP 而不是 localhost 的 RESTful Web 应用程序
【发布时间】:2014-08-11 02:58:26
【问题描述】:

我正在使用 RESTful Web 服务和 Tomcat 在 Java 中开发一个 Web 应用程序。到目前为止,我在 URI 中使用 localhost:http://localhost:8080/3.ServerAPI/rest/Variable。但是如果我想使用真实IP呢?

我已经通过用 LAN IP 替换 localhost 在本地网络上进行了尝试,它工作正常:http://192.168.1.2:8080/3.ServerAPI/rest/Variable 此地址的应用程序收到了变量。

如果我想通过互联网发送这个,只要我知道我必须使用 WAN IP:http://188.39.25.247:8080/3.ServerAPI/rest/Variable

我的问题是,如果我将最后一个 URI 与 WAN IP 一起使用,我是否还需要通过配置路由器将端口转发到 LAN IP,或者它会像我使用 LAN IP 时一样工作??

提前致谢

【问题讨论】:

  • 只要您连接到互联网,它应该可以直接工作。
  • 我不确定这是否真的适合这个网站。简单的答案是您的 WAN IP 用于您的路由器/调制解调器。因此,您必须要么在路由器/调制解调器上运行服务器,要么将端口转发到本地网络上的机器。这纯粹是一个网络配置的事情,根本不是真正的编程。
  • @Satish 不是很有帮助,这些天谁直接连接而不是通过路由器?

标签: java rest tomcat networking ip


【解决方案1】:

这真的取决于您的网络设置。

您可能必须在路由器上启用端口转发才能将请求定向到您的服务器所在的计算机,同时确保路由器允许连接到端口 8080。

我最近在处理外部 API 的回调时不得不这样做。似乎记得我必须在路由器上启用端口转发才能使其正常工作。不过也不太难,只需查看路由器说明即可了解如何操作 - 就像我说的,不过取决于网络设置。

希望这会有所帮助。

【讨论】:

  • 我过去曾用 TCP/IP 开发过一个类似的应用程序,我在那里使用了端口转发来使其工作。但是,如果我在服务器上有一个应用程序将消息发送到另一个由许多远程用户使用的应用程序怎么办?所有这些用户都必须访问他们的路由器并进行端口转发??
  • @user3358377 我认为您需要从一开始就重新考虑这一点。请记住,当您查看 Internet 上的事物时,连接在一起的各个网络看起来都只是一台机器,您并没有真正看到一个全球 IP 背后是网络上的许多机器。
【解决方案2】:

我看到了类似的情况,问题是由于另一个应用程序正在使用该端口。

【讨论】:

  • 是这个原因,请描述解决方法
  • 在我使用机器名称或 IP 地址的 URL 中,当我使用 localhost 时它运行良好,但出现 404 错误。这意味着它可以联系服务器但不能执行请求,但我的断点从未命中。然后它似乎是在该端口上运行的其他应用程序。当我更改端口时,一切正常。在您的情况下,您是否尝试更改端口?是否解决了您的问题是否遇到了同样的问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多