我可以从浏览器访问 "http://localhost:8080/" 但不能 "my_private_ip:8080/"

I can reach from browser "http://localhost:8080/" but not "my_private_ip:8080/"

我在我的作业局域网中,我的 Macintosh (Mac OS X El Capitan 10.11.4) 的私有 IP 是 192.168.1.9,我的防火墙是关闭的. 我在“http://localhost:8080/" until I access to that project from the localhost everything works fine, when I try to reach it from http://192.168.1.9:8080/ google chrome 上有一个 Wildfly 10 网络项目 运行 告诉我:

This site can’t be reached
192.168.1.9 refused to connect.
Search Google for 192 168 8080
ERR_CONNECTION_REFUSED

我需要从外部移动设备访问它,但如果我什至无法通过计算机本身的 IP 从我自己的计算机访问它,则很难将其传递给移动设备...

奇怪的是,我也有 MAMP Apache 端口侦听端口 80,事实上,“http://localhost/" and "http://192.168.1.9/”都工作得很好(显示默认的 MAMP "www/index.php")。

从 eclipse 配置

如果你想从 eclipse 设置 IP,你应该遵循这些步骤(更改文件 standalone.xml 中的 IP 在 eclipse 中不起作用,因为设置了 -b 选项,请参阅下面的更多信息...)

这是在 eclipse 上配置它的步骤:

  1. 点击你的 Wildfly 服务器
  2. 点击Open Launch Configuration 取消选中 Always update arguments related to the runtime,然后将 -b 选项更改为 your_private_ip(如果删除该选项,-b localhost 您可以直接从 standalone.xml 文件配置它,请参阅下面的部分用于配置它)
  3. 或者简单地说,而不是 2. 解决方案,选中复选框 Listen on all interfaces to allow remote web connections

standalone.xml

配置

另一种方法是在 standalone.xml 接口部分进行配置。

变化:

<interfaces>
  <interface name="management">
   <inet-address value="127.0.0.1"/>
  </interface>
  <interface name="public">
   <inet-address value="127.0.0.1"/>
  </interface>
</interfaces>

至:

<interfaces>
  <interface name="management">
   <!-- Use the IPv4 wildcard address -->
   <any-ipv4-address/>
  </interface>
  <interface name="public">
   <!-- Use the IPv4 wildcard address -->
   <any-ipv4-address/>
  </interface>
</interfaces>

或者直接将 127.0.0.1 替换为您的私有 IP


从命令行配置(运行 从命令行配置服务器)

另一个选择是 运行 直接从命令行。 默认jboss/wildfly绑定到localhost,如果你想改变这个,你可以执行:

standalone.sh -b 0.0.0.0

侦听机器的所有 IP 地址(如果是多宿主)

或者如果你想在你的 ip 上收听:

standalone.sh -b your_private_ip

参考: