使用外部IP访问Google Cloud VM实例Tomcat

New*_*bie 4 java tomcat google-compute-engine google-cloud-platform

我正在尝试访问我的 Tomcat 主页,该主页位于我的 Google Cloud VM 实例内,外部 IP 地址为 35.189.85.127,内部 IP 为 10.154.0.2。在我的本地计算机上,在浏览器中我尝试了http://35.189.85.127http://35.189.85.127:8080但出现错误

连接已超时。35.189.85.127 处的服务器响应时间过长。

我已经看到了 stackoverflow 上关于这个问题的所有问题和回复,但我仍然没有找到明确的解决方案。

到目前为止我已经完成的步骤:

  1. 我已在 Compute Engine 中设置了一个 Google Cloud VM 实例。我使用 Windows Server 2016 作为映像。
  2. 我使用 RDP 登录到 Windows Server。
  3. 我在 Windows Server 上成功安装了 Java 1.7 和 Tomcat 7。
  4. 我测试了 Java 和 Tomcat 7,两者都工作正常,即我打开浏览器并输入 localhost:8080,它显示 Tomcat 主页。
  5. 我将 localhost 替换为我的 VM 实例内部 IP,即 10.154.0.2:8080,它再次正确显示 Tomcat 主页。
  6. 现在我尝试使用我的 VM 实例外部 IP(静态)35.189.85.127 访问 Tomcat 主页,但在浏览器中出现错误

连接已超时。35.189.85.127 处的服务器响应时间过长。

小智 5

今天面临同样的问题。

从你的问题注意到你使用的是Windows环境

在 Windows 上

确保 Windows 防火墙已正确配置为允许您需要的端口下的流量(或停用它)。

在 GCP 上

在“VPC网络/防火墙规则”下,创建新的防火墙规则并配置如下:

防火墙规则参数(图片)

或者,您可以选择选中“实例配置”菜单下的“允许 HTTP 流量”选项,并编辑 Tomcat 的 server.xml 以在端口 80 启动,如下所述:

更改 Tomcat 端口教程 @ StackOverflow