目前,如果在我们的服务器上启动Rails应用程序时出现问题,用户将被带到Passenger错误页面,其中包含“无法启动Ruby(Rack)应用程序”之类的错误.
是否可以自定义此错误页面并显示其他内容,以便实时站点的用户看不到这个?
我正在使用Nginx作为服务器.
谢谢
最佳答案
在测试Passenger 5.1时,我发现设置passenger_friendly_error_pages关闭不足以更改默认错误页面.这会禁用暴露回溯或环境变量,但仍会显示Passenger的错误页面.
passenger_intercept_errors on;
error_page 500 /500.html;
命令passenger_intercept_errors
告诉Nginx处理400或更高的状态代码. error_page命令自定义错误.您可能还想自定义其他错误.
对于Rails应用程序,页面的位置相对于应用程序的公用文件夹(您在Nginx的root命令中设置的内容).
如上所述是this comment,Apache的类似配置是:
PassengerErrorOverride on
ErrorDocument 500 /path/to/500.html