Ruby 如何关闭Rack应用程序中的异常?
我已准备好部署RackServerPages应用程序,但似乎找不到禁用异常的方法,即Rack::ShowExceptions呈现的异常Ruby 如何关闭Rack应用程序中的异常?,ruby,rack,Ruby,Rack,我已准备好部署RackServerPages应用程序,但似乎找不到禁用异常的方法,即Rack::ShowExceptions呈现的异常 谢谢 我有几个小时不愉快的经历,尝试禁用Rack::ShowExceptions失败,但最终我发现我不需要这样做 在生产环境中,这是关闭的(当您尝试curl-XINVALID-k时)https://my-production-app.com它将返回空白屏幕) 但是,如果您需要在自定义(例如“暂存”)环境中禁用此功能(仍显示机架跟踪代码),则这无法解决问题 在轨道
谢谢 我有几个小时不愉快的经历,尝试禁用
Rack::ShowExceptions
失败,但最终我发现我不需要这样做
在生产环境中,这是关闭的(当您尝试curl-XINVALID-k时)https://my-production-app.com
它将返回空白屏幕)
但是,如果您需要在自定义(例如“暂存”)环境中禁用此功能(仍显示机架跟踪代码),则这无法解决问题
在轨道上测试3.2.21
在Rails上
4.0.12
这适用于我的生产和自定义“暂存”环境将RACK_ENV
环境变量设置为deployment
从技术上讲,将ENV['RACK\u ENV']
设置为development
之外的任何值都将禁用异常<代码>机架::ShowExceptions中间件是指机架在系统中运行时
对于Rails应用程序,请将ENV['RACK_ENV']
设置为deployment
,确保还将ENV['Rails_ENV']
设置为适合您环境的正确值(生产,开发
,等等)。如果未设置ENV['RAILS\u ENV']
,RAILS应用程序将返回到ENV['RACK\u ENV']
,RAILS将投诉未知的部署
环境
如果使用unicorn
,也可以设置ENV['RACK\u ENV']
到部署
确保在生产模式下机架堆栈中没有它。这当然是一个选项,但我没有办法在config.ru中关闭它吗?@matt trycurl-XINVALID-khttps://my-app.com
它是默认的机架堆栈跟踪中间件