我已准备好部署RackServerPages应用程序,但似乎找不到禁用异常的方法,即Rack :: ShowExceptions呈现的异常。
谢谢!
答案 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']
设置为适合您环境的正确值(production
,development
,等等。)。如果未设置ENV['RAILS_ENV']
,则Rails应用将回退到ENV['RACK_ENV']
,并且Rails将抱怨未知的deployment
环境。
如果您使用unicorn
,则可以选择use -E deployment
将ENV['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"环境