云代工应用实例停止时如何显示自定义错误页面?

问题描述 投票:0回答:1

云代工app实例停止时,如何显示自定义错误页面?我不想显示默认的错误页面(404 应用程序不可用)。是否有办法使用路由或使用CF Java API来实现这种行为?

java cloudfoundry pcfdev
1个回答
2
投票

你在这里看到404的原因是因为当你的应用程序被停止时,没有任何东西被映射到你的应用程序的路由。这意味着Gorouter的路由表中没有你的应用所使用的路由条目,因此它会返回404(即该路由不存在)。

如果你想在应用程序不使用的时候为你的路由显示一个自定义的消息,有几个选择。

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

    现在,在你停止你的主应用程序之前,把它的路由换成小的静态应用程序 (cf unmap-routecf map-route). 路由仍然会存在,所以Gorouter不会返回404,相反,请求会转到你的小型静态应用,它可以返回任何它想要的东西。

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

    创建一个通配符路由 并将其映射到小型静态应用。在这种情况下,你不需要取消映射路由到你的小型静态应用。

    而是映射通配符路由,比如 *.example.com 到你的小型静态应用。然后,您可以将您的正常路线映射为 www.example.commy-cool-app.example.com 到你的实际应用。当实际的应用程序启动和运行时,它的路由更具体,所以Gorouter将发送流量到该应用程序。当你停止你的主应用程序时,路由将从Gorouter的路由表中被修剪,所以任何请求将匹配通配符路由,并进入你的小型静态应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.