如何使用passenger和apache设置自定义错误页面

时间:2014-10-14 18:58:55

标签: ruby-on-rails apache passenger

我正在使用Capistrano,Apache 2和Passenger每周推出我的rails应用程序,这很有效。最近我遇到一个错误,部署的乘客侧暴露了我的堆栈跟踪和我的服务器信息,我能够进行回滚,它只暴露了一会儿,但片刻仍然值得尊敬。

所以:

  • 如何禁用此功能?我看到this这样可能会回答这个问题,但会导致更多问题:
    • 我想使用一些Rails自定义错误页面来显示所有500和404的错误,基本上如果乘客爆炸或遇到路线损坏(因此导轨错误)我希望您看到自定义错误页面,不是铁路错误页面,不是乘客错误页面。我正在阅读this documentation on passenger and apache,但它没有提供任何有关如何执行此操作的示例。

我的目标是,如果由于某种原因您遇到导轨错误或部署出错,您将看不到导轨堆栈跟踪或乘客堆栈跟踪。相反,你会看到一个自定义错误页面。

1 个答案:

答案 0 :(得分:0)

在部署过程中要做的好事是将任何请求重定向到静态页面,说“我们将在10分钟后回来”。您可以按照此answer手动执行此操作,也可以使用gem capistrano/maintenance。这个想法是你有一个capistrano任务。通过运行此任务,将在public目录中的服务器上创建静态html页面。 Apache配置为监视此页面是否存在,如果存在,则所有请求都将重定向到503状态。