Node.js 无法从外部访问Google应用程序引擎实例
我正在使用Cloud shell在Google云服务上运行node JS应用程序。我已经使用gcloud app deploy部署了,一切都报告成功。如果我使用gcloud app logs tail-s default我可以看到日志,它说我的应用正在监听端口3000,这是我从应用中看到的第一条调试消息 当我调用端点时,端点上没有端口,即 我犯了个错误 “GET/myendpoint”502 如果我尝试使用端口3000,即 请求只是超时,我没有从shell获得任何日志消息 我在防火墙上打开了3000端口,我的app.yaml是Node.js 无法从外部访问Google应用程序引擎实例,node.js,google-app-engine,google-cloud-platform,Node.js,Google App Engine,Google Cloud Platform,我正在使用Cloud shell在Google云服务上运行node JS应用程序。我已经使用gcloud app deploy部署了,一切都报告成功。如果我使用gcloud app logs tail-s default我可以看到日志,它说我的应用正在监听端口3000,这是我从应用中看到的第一条调试消息 当我调用端点时,端点上没有端口,即 我犯了个错误 “GET/myendpoint”502 如果我尝试使用端口3000,即 请求只是超时,我没有从shell获得任何日志消息 我在防火墙上打开了
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命令SSH连接到实例并访问端点,但仍然没有外部访问
更新3:
我也尝试了端口443,监听IP 0.0.0.0。但它似乎绑定到IPV6 ip地址0,并将端口更改为8443(不知何故)。这太疯狂了…我通过将我的服务绑定到端口8080,并从我的app.yaml中删除“service”字段,解决了这个问题。默认情况下,外部调用都路由到端口8080 外部调用没有指定端口