【问题标题】:Why I cannot reach Google Cloud Dev App Server on VM (port 8080)为什么我无法访问 VM 上的 Google Cloud Dev App Server(端口 8080)
【发布时间】:2020-10-28 12:57:59
【问题描述】:

我已在生产环境中启动并运行 Google App Engine 实例,它运行良好。 我想创建用于编码和测试的开发环境,因为无法在我的计算机上本地安装所需的软件(例如 SDK)。 因此,我为 Google Cloud 创建了一个虚拟机(VM,Debian 10)并将我的代码从 App Engine 签入到 VM。

Dev App Server 似乎工作正常。
开发应用服务器日志显示它正在工作

我可以在 VM 上启动 Dev App Server(使用端口 8080),但是当我尝试访问它时,浏览器显示“无法访问此站点”。 我使用VM的外部IP地址(它是短暂的,这意味着它不是静态IP地址)。

防火墙规则应该没问题。(端口 8080)。以下是一些规则。

防火墙设置:

我在虚拟机上安装了 apache2 并尝试访问索引页面(端口 80)-> 工作正常!

我的问题是:
为什么我无法访问使用端口 8080 的开发应用服务器?
是因为端口规则吗?
还有什么,什么?

【问题讨论】:

标签: google-app-engine port firewall


【解决方案1】:

它说,该实例正在localhost:8080 上运行。所以也许应用程序被配置为不监听0.0.0.0:8080,而是监听localhost:8080。

在这种情况下,即使防火墙允许访问它,也无法从除 localhost 之外的任何其他网络访问它。

使用netstat -an查看是否有0.0.0.0:8080

您也可以使用 telnet 来测试端口是否打开:

telnet someIP somePort

如果没有:

开发服务器命令支持以下命令行 论据:

--address=...

用于服务器的主机地址。您可能需要将其设置为 能够从您的另一台计算机访问开发服务器 网络。 0.0.0.0 地址允许本地主机访问和 主机名访问。默认值:localhost。

Reference

Similar thread

如果您使用 maven,那么您可以通过以下方式修改您的 pom.xml 文件:

<plugins>
   <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>appengine-maven-plugin</artifactId>
     <version>2.2.0</version>
     <configuration>
       <devserver.host>0.0.0.0</devserver.host>
       <devserver.port>8080</devserver.port>
     </configuration>
  </plugin>
</plugins>

如here 所述,并尝试像往常一样启动您的项目

【讨论】:

  • 是的,你是对的。 Dev App Server 仅连接本地主机。下一个问题是我可以在哪里设置以便允许从互联网连接。
  • @InkwonHwang 您是否打开了类似线程链接并阅读了使用示例?这取决于你使用什么。
  • 感谢@Gryu 的回复!基本上我需要知道我可以在哪里放置命令行参数 --address=0.0.0.0 通常在使用脚本 ex 时使用参数。 .sh 文件。我正在使用命令 mvn appengine:devserver 应该是做什么的? mvn appengine:devserver --address=0.0.0.0
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-08
  • 2019-04-07
  • 1970-01-01
  • 2017-12-14
  • 1970-01-01
  • 2019-01-27
相关资源
最近更新 更多