【问题标题】:How to debug Java Server working for localhost but not public IP如何调试适用于 localhost 但不适用于公共 IP 的 Java 服务器
【发布时间】:2013-10-15 19:44:01
【问题描述】:

菜鸟问题,但我不知道在哪里看:

我正在远程 linux 机器上运行 Java Web 应用程序(目标是 Jersey RESTful API)。服务器成功运行并可以在本地处理对 localhost:8080/foobar 的请求,但我无法从其他任何地方(例如,我的笔记本电脑通过浏览器)向各种 url 发出请求。

这是一个简单的问题,我遇到过很多次,但不知道在 google 上搜索什么术语或在哪里寻求帮助调试问题,所以任何线索或建议将不胜感激。

更多详情: 项目是添加到 Maven2 生成的 Jersey 服务原型的代码

【问题讨论】:

  • 您的路由器是否正确设置了端口转发?
  • 我想说是的,但是我不确定——我该如何检查?
  • 打开您的路由器页面。端口将流量从您的路由器转发到托管 Web 服务器的本地计算机的 IP 地址。

标签: java unix configuration jersey localhost


【解决方案1】:

这很可能是由服务器上的防火墙或运行服务器的内部网络前面引起的。与您的网络管理员讨论打开端口 8080 的漏洞,或考虑在端口 80(如果打开)上使用反向代理将请求转发到端口 8080。如果您不熟悉反向代理的概念,请参阅 http://en.wikipedia.org/wiki/Reverse_proxy 或负载均衡器。

【讨论】:

    【解决方案2】:

    使用网络配置更改“/etc/hosts”文件中的 localhost 条目,如果服务器是 tomcat,则编辑 $CATALINA_HOME/conf/server.xml 以添加 IP 相关的<Connector> 元素。

    确保您有更好的想法来处理 /etc/hosts

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-03
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 2014-04-19
      • 2019-09-09
      相关资源
      最近更新 更多