5

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

谢谢!

4

2 回答 2

3

RACK_ENV环境变量设置为deployment.

从技术上讲,设置ENV['RACK_ENV']为除此之外development的任何内容都会禁用异常。当 rack 在默认环境中运行时,默认包含Rack::ShowExceptions中间件。development

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

如果使用unicorn,也可以使用-E deploymentto 设置ENV['RACK_ENV']deployment

于 2018-08-08T08:12:31.827 回答
1

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

在生产中,它被关闭(当你尝试它时curl -XINVALID -k https://my-production-app.com它只会返回空白屏幕)。

但是如果您需要在自定义(例如“暂存”)环境中禁用它(仍然显示机架跟踪代码),这不会解决问题。

在 Rails 上测试3.2.21

在 Rails 上,4.0.12 这适用于我的生产和自定义“登台”环境

于 2015-03-11T13:41:33.973 回答