Google Compute Engine:如何从外部发出请求?

时间:2018-06-26 15:17:50

标签: nginx request google-compute-engine

我对Google Cloud和Google Compute Engine完全陌生。我在GCE中设置了一个VM实例,并想向它发出请求。

在实例内部,我运行了一个基本的Nginx(我承认对它的理解也非常有限),并具有以下配置:

http {
  server {
    listen 80 default_server;
    return 200 hello;
  }
}

如果我通过google云控制台从实例内部访问它(例如使用curl),它确实可以工作,但是我不知道如何从外部访问它。

在Compute Engine VM实例列表中,该实例具有关联的外部IP(例如35.204.94.110),但是对{{3}}的请求未得到响应。

如何从外部访问实例?

2 个答案:

答案 0 :(得分:2)

我将确保在VM实例上启用HTTP访问。创建虚拟机实例时,有两个复选框:

  • 允许HTTP流量
  • 允许HTTPS流量

如果未选中“允许HTTP流量”复选框,则可以解释该行为。进入控制台并单击受影响的VM实例,然后向下滚动,直到查看是否已选中“允许HTTP通信”框。如果不是,请单击“编辑”,选中该复选框以允许HTTP通信,然后保存更改。现在,您应该可以从外部加载页面了。

我自己通过仅在VM实例上安装并启用Nginx进行了测试。如果禁用“允许HTTP通信”,则不会加载该页面。启用后,我可以成功加载nginx的默认网页。

答案 1 :(得分:1)

好像您没有启用http访问权限。检查firewall rules并将default-allow-http标签添加到您的GCE实例。