java - 502 Bad Gateway 和“请在 30 秒后重试”消息
问题描述
首先,我知道 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
在日志中没有错误。一个基本的、超级简单的spring boot“hello world”项目可以工作,但不是那种招摇撞大的项目。
如何处理这个问题?谢谢你。
解决方案
在处理这个问题超过 4 周后,我发现 app.yaml 文件应该只包含这两行:
runtime: java11
instance_class: F4
是的!只有这两行足以在 gcloud 上运行那个大摇大摆的生成项目。在 stackoverflow、github 等上有很多不同的示例,包括google为同一任务制作的不同示例app.yaml文件,答案非常简单。
此致!:)
推荐阅读
- laravel - Laravel 要求数据库中是否为空
- rust - Rust:Cargo.toml 错误:预期项目,在尝试包含 nalgebra 时发现 `[`
- nunjucks - 如何使用 if 条件包含在 nunjucks 中?
- javascript - 访问对象数组中的元素
- google-app-maker - 应用程序制造商覆盖服务器端错误消息
- regex - 等效的 powershell 正则表达式
- wpf - 如何将带有变音符号的字符串设置为 wpf 文本框?
- oracle - Oracle PL/SQL 如何在日期参数为空时获取所有行?
- python - 如何显示存储在 Google Cloud 存储桶中的图像
- ios - KeyChain Set - NoSuchAttribute - 为什么?