无法使用内部 IP 地址(192.168.1.134)访问码头,但可以使用 localhost/127.0.0.1

jetty not accessible using internal ip address(192.168.1.134) but works with localhost/127.0.0.1

我正在尝试 运行 使用 Eclipse 嵌入码头。下面是代码片段。

Server server = new Server(4269);
ContextHandler context = new ContextHandler();
context.setContextPath("/abc");
server.start();
server.join();

当我 运行 时,我可以在控制台中看到以下内容。

2015-09-12 10:52:41.360:INFO:oejs.Server:jetty-8.1.8.v20121106
2015-09-12 10:52:41.402:INFO:oejs.AbstractConnector:Started    SelectChannelConnector@0.0.0.0:4269         

所以它正在监听 0.0.0.0:4269。我希望可以使用 localhost:4269/abc、127.0.0.1:4269/abc 和 192.168.1.134:4269/abc 访问它。但是,它不适用于 192.168.1.134:4269/abc 甚至我的静态 ip http://10.xxx.xx.xx:4269/abc.

请指导我我做错了什么?

首先,Jetty 8 is EOL (End of Life)现在,强烈建议升级。

你看到的输出...

SelectChannelConnector@0.0.0.0:4269

表示 Java 绑定到 non-routable meta-address 0.0.0.0 for all local IPs,这意味着它绑定到所有可用的网络接口。

要寻找的东西:

  • 那个接口存在吗?
  • 该接口是否已启动并连接到有效 IP?
  • Can Java see that interface?
  • 您的 netstat 命令(或您 OS 上的等效命令)是否报告某些内容已绑定到接口“192.168.1.134”?
  • 防火墙规则是否阻止访问?
  • 是否有可能阻止访问的网络安全规则? (SELinux)