谷歌计算引擎外部IP

3

我在Google的计算引擎上有一个nodejs应用程序,可以通过提供的appspot地址访问。

在网络设置中,我将IP地址设为静态。我已经添加了一个防火墙规则,允许任何流量,即tcp:8080。

但是当我尝试在浏览器上输入外部IP地址时,它无法加载。因此,我无法使用外部IP地址访问我的网站。

该怎么做才能使用外部IP地址?

2个回答

2

看起来,当您使用“gcloud preview app deploy”命令时,它会部署到 Google Cloud Compute Engine,应用程序在端口8080上运行。

要为您的项目获得静态IP,请执行以下步骤:

1)在您的代码中,创建一个app.yaml文件。将端口80转发到端口8080(其中您的应用程序正在侦听)。

    network:
     forwarded_ports:
     - 80:8080

2) 现在可以部署您的应用程序了。

   gcloud preview app deploy

3) 在您的谷歌控制台中,进入NETWORKING > FIREWALL RULES,在tcp:80上添加新的防火墙规则。

4) 进入EXTERNAL IP ADDRESS,将应用程序的IP地址更改为静态。

您将看到您的网站在外部IP地址上运行。


0
从你的问题来看,似乎你正在使用Google App Engine运行你的node.js应用程序(考虑到你提到了appspot.com域名)。
如果我的假设是正确的,你不需要为你的实例分配任何IP地址 - 它们都由Google管理,并且将外部世界的请求路由到你的应用程序是由App Engine完成的。
你应该通过your_app_name.appspot.com访问你的应用程序,或者如果你想使用自己的自定义域名,请使用this guide来实现。这也将帮助你设置SSL,如果你想/需要为你的应用程序设置它。

我正在使用“计算引擎”解决方案。因此,即使我在应用程序引擎部分设置了域,它也无法工作。 - Burak Gazi
@BurakGazi - 那么,“我可以通过给定的appspot地址访问”的意思是什么? - DoiT International
在我的控制台中,它显示 'App Engine': 0 个实例,'Compute Engine': 1 个实例。我使用终端中的 'gcloud preview deploy app' 命令部署了我的应用,并且它显示 'Deployed module [default] to [https://<my-project-name>.appspot.com]'。 - Burak Gazi
@BurakGazi - 你正在使用AppEngine,只是不是标准沙盒,而是“托管VM”变体。我的答案仍然适用,您需要使用AppEngine的自定义域功能将其映射到您的域(如果需要)。您将无法以可行的方式为实例分配IP。 - DoiT International

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接