Phusion Passenger:定制内部乘客错误,同时仍然通过Rails错误

时间:2017-12-13 14:50:07

标签: ruby passenger

我希望将普通的Rails错误页面传递给用户代理。我当然可以使用普通的Rails技术自定义这些页面。

但如果出现内部乘客错误(通常是乘客根本无法启动应用程序),我想自定义该页面。有没有办法做到这一点?

如果我(apache)设置了PassengerErrorOverride,那么我可以在apache端配置内部乘客错误页面 - 但我认为我也丢失了所有自定义的普通Rails错误页面。

有没有办法让我的自定义Rails错误页面正常运行,但仍然以某种方式自定义内部Passenger致命错误屏幕?

谢谢!

1 个答案:

答案 0 :(得分:1)

让我们看看我是否理解正确。如果向用户提供例如HTTP 500错误页面,则可以来自三个不同的来源:

  1. 您的rails应用(通常)
  2. 乘客(可能很少,例如产生错误)
  3. Apache(覆盖1.和2。)
  4. 您希望用户获得:1。+(由您自定义)2。

    覆盖2.的默认方式确实是使用选项3.,但这也会覆盖1.你不想要的。

    我认为Passenger目前还有另一个选项可以覆盖2.但您可以覆盖Passenger使用的模板。如果友好的错误页面设置为关闭,则模板为:

    `passenger-config about resourcesdir`/templates/undisclosed_error.html.template