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

标签 java tomcat google-cloud-platform google-compute-engine

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

The connection has timed out. The server at 35.189.85.127 is taking too long to respond.

关于这个问题,我在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 实异常(exception)部 IP(静态)35.189.85.127 访问 Tomcat 主页,但在我的浏览器中出现错误

The connection has timed out. The server at 35.189.85.127 is taking too long to respond.

最佳答案

今天遇到同样的问题。

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

在 Windows 上

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

在 GCP 上

在“VPC Network/Firewall Rules”下,创建一个新的防火墙规则并配置如下:

Firewall Rule Parameters (image)

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

Change Tomcat Port Tutorial @ StackOverflow

关于java - 使用外部 IP 访问 Google Cloud VM 实例 Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45989515/

相关文章:

java - 使用 volatile 和atomic 总是能保证线程安全吗

java - 如何在tomcat上启动rest-spring应用程序?

java - 在 Java 中实现定时器事件的最简单方法

java - 错误: multiple files define Lorg/json/simple/ItemList

tomcat - 如何设置 tomcat 以使用应用程序基目录的子目录作为网站资源?

Java 对象在 Tomcat session 中占用太多空间(遗留代码)

mysql - Google Cloud SQL 读取平台内其他区域的副本

java - 我应该如何控制对tomcat中图像的访问?

google-apps-script - 如何使用服务帐户从应用程序脚本访问云数据存储

tensorflow - Google ML-Engine 中的 keras 模型预测失败