如何关闭Rack应用程序中的异常?

时间:2012-04-16 03:35:45

标签: ruby rack

我已准备好部署RackServerPages应用程序,但似乎找不到禁用异常的方法,即Rack :: ShowExceptions呈现的异常。

谢谢!

2 个答案:

答案 0 :(得分:2)

RACK_ENV环境变量设置为deployment

从技术上讲,将ENV['RACK_ENV']设置为除development之外的任何值都将禁用该异常。当机架在included by default中运行时,Rack::ShowExceptions中间件是default development environment

对于Rails应用,将ENV['RACK_ENV']设置为deployment,并确保将ENV['RAILS_ENV']设置为适合您环境的正确值(productiondevelopment,等等。)。如果未设置ENV['RAILS_ENV'],则Rails应用将回退到ENV['RACK_ENV'],并且Rails将抱怨未知的deployment环境。

如果您使用unicorn,则可以选择use -E deploymentENV['RACK_ENV']设置为deployment

答案 1 :(得分:0)

我有几个小时不愉快的尝试禁用Rack::ShowExceptions失败的经历,但最后我发现我不需要那样做。

在制作中,这已关闭(当您尝试curl -XINVALID -k https://my-production-app.com时,它将仅返回空白屏幕)。

但如果您需要在自定义(例如" staging")环境中禁用此功能(仍显示机架跟踪代码),则无法解决此问题。

在Rails 3.2.21

上测试

on Rails 4.0.12这适用于我的制作和定制" staging"环境