在 Google App Engine 上放置自定义错误页面的位置

Posted

技术标签:

【中文标题】在 Google App Engine 上放置自定义错误页面的位置【英文标题】:Where to put the custom error page on Google App Engine 【发布时间】:2016-05-16 06:13:22 【问题描述】:

我想在我的 GAE 服务上添加一个自定义错误页面。

从 document 中,它没有提到将错误页面放在哪里。

这是我的app.yaml 文件:

handlers:
- url: /static
  static_dir: static

- url: .*
  script: mega_jav.wsgi.application

error_handlers:
- file: error_default.html

- error_code: over_quota
  file: error_over_quota.html

我将error_default.htmlerror_over_quota.html 都放在了我的模板文件夹中。

它不起作用。

我应该把错误页面放在哪里? 或者我可以修改app.yaml 文件以使其正常工作吗?

非常感谢。

【问题讨论】:

模板加载器在模板文件夹中找到模板,并配置为这样做。假设templatesapp.yaml 文件在同一个目录中,我会尝试templates/error_default.html(也许还有/templates/error_default.html?) 【参考方案1】:

我建议你阅读文档https://cloud.google.com/appengine/docs/python/config/appconfig?hl=en#Python_app_yaml_Custom_error_responses

很清楚,错误处理程序引用文件而不是静态资源(实际上有一个明确的警告,不要使文件与静态处理程序重叠(我在 2010 年就文档提出了这个问题,因为它没有'不要注意这个事实,导致部署问题 - https://code.google.com/p/googleappengine/issues/detail?id=3759)

警告:确保错误响应文件的路径不 与静态文件处理程序路径重叠。

错误处理程序的页面部署在您的代码库中。

而且它与模板无关。虽然它的路径可能在您的模板中。但是,它是纯静态的 html/文本,如果存在未捕获的错误,则将其放入模板中可能会造成混淆,因为它不是模板。

最简单的地方是项目的根目录。 file 指令是相对路径而不是处理程序

【讨论】:

以上是关于在 Google App Engine 上放置自定义错误页面的位置的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google Cloud Load Balancer 迁移 App Engine 会导致约 1 小时的停机时间

您如何在 Java 中使用 Google App Engine 数据存储中的列表属性?

在 Google-App-Engine 中使用 HSQLDB

如何在 Google Cloud App Engine 上使用 PubSub 创建订阅者,该订阅者通过 Publisher 从 Google Cloud App Engine Flex 收听消息?

在 Google App Engine 上部署 create-react-app

在 Google App Engine 上运行 Alembic 迁移