502错误的网关和“请在30秒内重试”消息

时间:2019-12-18 14:14:22

标签: java spring-boot google-app-engine google-cloud-platform gcloud

首先,我知道gcloud上的http 502表示任何可能的错误。 另外,在日志中没有错误,只有标准的Spring Boot信息和调试消息没有错误。

我遇到麻烦的项目是一个由草率生成的spring boot java项目(超过160个Java文件)。

在intellij上本地运行良好且快速。

在gclod shell上执行 mvn clean spring-boot:run 之后,项目启动,并且在浏览器中看到默认生成的页面。

在gclod shell上执行mvn appengine:deploy之后,我总是在浏览器中看到此消息: 错误:服务器错误服务器遇到临时错误,无法完成您的请求。请在30秒内重试 或此错误: 502 Bad Gateway nginx 。总是。

这是来自gcloud控制台的最后一条消息(在mvn appengine:deploy之后):

..done.
[INFO] GCLOUD: Setting traffic split for service [default]...
[INFO] GCLOUD: ...................................done.
[INFO] GCLOUD: Deployed service [default] to [https://polishapi-psd2.appspot.com]
[INFO] GCLOUD:
[INFO] GCLOUD: You can stream logs from the command line by running:
[INFO] GCLOUD:   $ gcloud app logs tail -s default
[INFO] GCLOUD:
[INFO] GCLOUD: To view your application in the web browser run:
[INFO] GCLOUD:   $ gcloud app browse
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  16:07 min
[INFO] Finished at: 2019-12-18T14:11:30+01:00
[INFO] ------------------------------------------------------------------------
C:\workspace\PolishAPI-psd2>gcloud app logs tail

日志中没有错误。 一个基本的,超级简单的spring boot“ hello world”项目可以运行,但不能大张旗鼓。

如何处理此问题? 谢谢。

3 个答案:

答案 0 :(得分:0)

在处理了4个星期以上的问题后,我发现app.yaml文件应仅包含以下两行:

runtime: java11
instance_class: F4

是的!仅这两行就足以在庞大的gcloud上运行了。 在stackoverflow,github等上有很多不同的示例,包括由Google 为同一任务制作的 unlike 示例app.yaml文件,答案非常简单。

最诚挚的问候! :)

答案 1 :(得分:0)

完全相同的问题,我在此示例https://github.com/GoogleCloudPlatform/java-docs-samples/tree/master/appengine-java8/helloworld-springboot

中遇到

遵循了两行内容。 运行时:java11 instance_class:F4

答案 2 :(得分:0)

与上述答案类似,以下帮助:

runtime: java
env: flex    
instance_class: B4
manual_scaling:
  instances: 1
resources:
  memory_gb: 4

如有必要,也可以使用automatic_scalinginstance_class F4。