【问题标题】:How to display a custom error page when cloud foundry app is stopped?Cloud Foundry 应用停止时如何显示自定义错误页面?
【发布时间】:2020-04-23 20:46:49
【问题描述】:

如果 Cloud Foundry 应用实例停止,如何显示自定义错误页面?我不想显示默认错误页面(404 应用程序不可用)。有没有办法使用路由或使用 CF Java API 来实现此行为?

【问题讨论】:

    标签: java cloud-foundry pcfdev


    【解决方案1】:

    您在此处看到 404 的原因是,当您的应用程序停止时,没有任何内容映射到您的应用程序的路由。这意味着 Gorouter 在其路由表中没有您的应用使用的路由条目,因此它将返回 404(即该路由不存在)。

    如果您想在应用未使用时为您的路线显示自定义消息,您可以想到几个选项。

    1. 部署一个小型静态应用程序,可能使用 staticfile_buildpack 或 nginx_buildpack,显示您的自定义消息。

      现在,在您停止主应用程序之前,将其路由交换到小型静态应用程序 (cf unmap-route/cf map-route)。路由仍然存在,因此 Gorouter 不会返回 404,而是将请求发送到您的小型静态应用程序,该应用程序可以返回它想要的任何内容。

    2. 部署一个小型静态应用程序,可能使用 staticfile_buildpack 或 nginx_buildpack,显示您的自定义消息。

      Create a wildcard route 并将其映射到小型静态应用程序。在这种情况下,您不需要取消映射/映射到您的小型静态应用程序的路线。

      您可以将通配符路由(例如 *.example.com)映射到您的小型静态应用程序。然后,将www.example.commy-cool-app.example.com 等正常路线映射到您的实际应用程序。当实际的应用程序启动并运行时,它的路由更加具体,因此 Gorouter 会将流量发送到该应用程序。当您停止您的主应用程序时,路由将从 Gorouter 的路由表中删除,因此任何进入的请求都将匹配通配符路由并转到您的小型静态应用程序。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 2020-01-21
    • 1970-01-01
    相关资源
    最近更新 更多