首先我知道 gcloud 上的 http 502 意味着任何可能的错误。 此外,在日志中没有错误只有标准的 spring boot 信息和调试消息。
我遇到麻烦的项目是一个swagger生成的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
在日志中没有错误。 一个基本的、 super 简单的 spring boot“hello world”项目可以工作,但不是那个大摇大摆的项目。
如何处理这个问题? 谢谢。
最佳答案
在处理这个问题4个多星期后我发现app.yaml文件应该只有这两行:
runtime: java11
instance_class: F4
是的!只有这两行足以在 gcloud 上运行那个 swagger 生成的项目。 stackoverflow、github 等上有很多不同的示例,包括 unalike 由 google 为相同任务制作的示例 app.yaml 文件,答案非常简单。
致以最诚挚的问候! :)
关于java - 502 错误网关和 "Please try again in 30 seconds"消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59393924/