无法从外部访问Google App Engine实例

时间:2018-08-31 14:01:05

标签: node.js google-app-engine google-cloud-platform

我正在使用云外壳在Google Cloud Services上运行节点JS应用。我已经使用 gcloud应用程序部署进行了部署,一切都报告为成功。如果我使用 gcloud应用程序日志尾部-s默认值,我可以看到日志,则表明我的应用程序正在监听3000端口,这是我从应用程序中看到的第一条调试消息。

当我调用末端没有端口的端点时,即

https://myapp.appspot.com/myendpoint

我得到一个错误,

“获取/ myendpoint” 502

如果我尝试使用端口3000,即

https://myapp.appspot.com:3000/myendpoint

该请求只是超时,并且从外壳程序中没有任何日志消息。

我在防火墙上打开了端口3000,而我的app.yaml是

runtime: nodejs
env: flex
service: default

manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

更新1:

我还尝试将转发端口添加到我的app.yaml中,

network:
  forwarded_ports:
    - 3000/tcp  

并允许VPC防火墙中的端口3000,但这似乎没有什么区别。

更新2:

我可以使用 wget http://127.0.0.1:3000/myendpoint 命令SSH进入实例并访问端点,但是仍然没有外部访问权限。

更新3:

我也尝试过端口443,监听IP 0.0.0.0。但是它似乎绑定到IPV6 ip地址0,并将端口更改为8443(以某种方式)。真是疯了...

1 个答案:

答案 0 :(得分:1)

我通过将服务绑定到端口8080并从我的app.yaml中删除“服务”字段来解决了该问题。默认情况下,所有外部呼叫都路由到端口8080。

未指定外部呼叫。