【问题标题】:How to run Grails application so that other computers on network can access it?如何运行 Grails 应用程序以便网络上的其他计算机可以访问它?
【发布时间】:2017-09-09 18:35:41
【问题描述】:

我开发了一个 Grails 应用程序,我希望我的同事能够对其进行测试。他们在我的网络上,所以我认为他们可以使用我的 IP 地址和端口号 (8080) 访问它。我已经尝试按照herehere 列出的步骤运行它,但无济于事。

我注意到每当我运行程序时,即使我按照这些说明进行操作,它也会显示:

Grails 应用程序在 http://localhost:8080 环境中运行:开发

【问题讨论】:

  • 取决于您的 grails 版本 - 存在一个错误,即使它正在侦听正确的 IP,它也会始终显示 localhost
  • 这是可能的。我正在使用 Grails 3.0.8。

标签: grails networking localhost ip-address ipv4


【解决方案1】:

不清楚您是否可以在自己的机器上自行访问该应用程序?它应该可以在:

http://localhost:8080/appname

您的同事应该能够通过将 localhost 更改为您的计算机名称来访问该应用程序:

http://mycomputername:8080/appname

【讨论】:

  • 我的机器上可以正常访问,但是我的同事不能使用你提到的方法;已经试过了。
【解决方案2】:

这里有基本的网络资料。

当某些东西在接口 127.0.0.1 端口上启动时

通常该端口可用于机器上的所有接口

如果您运行netstat -plant,您将看到计算机上正在运行的端口打开。

基本上 ipconfig 或 ifconfig 在 Linux 下作为您的内部接口告诉您,例如 192.168.1.x

该应用程序随后可在 http://192.168.1.x:8080 上使用

如果您无法从网络上的其他机器访问它,请尝试ping {your machine ip}

这听起来像是网络安全阻止了一台机器访问另一台机器的本地访问。

或者更好的是你的旧 MS 防火墙尝试在你的桌面上停止你的安全内容

【讨论】:

  • 我尝试 ping 其他机器并尝试使用他们的机器 ping 我的机器;一切正常。我认为这可能是其他人提到的我的 grails 的错误或防火墙问题。
  • telnet ip 8080 或在 ping digitalocean.com/community/tutorials/… 后使用 netcat 测试端口连接。如果您无法通过并且可以 ping 很可能是防火墙 - 停止桌面上的 windows 防火墙并尝试几乎不会花费这么长时间的东西
  • 不幸的是,我无法阻止防火墙,因为它违反了策略。还有其他解决方案吗?我研究过使用 Tomcat 并部署 war 文件。
  • 如何研究如何向防火墙添加规则以允许本地子网通过计算机的端口 8080。这真的是勺子喂食。你应该退后一步,想想什么是防火墙,它在做什么,需要做什么
  • 这不是防火墙问题。如果我在 localhost 上运行 Tomcat,那么其他机器可以访问它,所以这是 grails 的问题。
猜你喜欢
  • 2019-12-12
  • 1970-01-01
  • 1970-01-01
  • 2022-09-28
  • 2012-08-04
  • 2020-11-26
  • 2022-11-10
  • 2021-09-09
  • 1970-01-01
相关资源
最近更新 更多