是否可以自定义Heroku平台的internal server error内部服务器错误页面
Heroku自定义内部服务器错误页面操作指南
方案1:应用层配置(适用绝大多数运行时错误场景)
- 所有主流Web框架均支持自定义错误页配置,无需依赖Heroku平台能力,是优先级最高的实现方案:
- Django:关闭
DEBUG模式后,在根模板目录下新增500.html文件,内容为你自定义的错误页即可 - Flask:使用
@app.errorhandler(500)装饰器编写错误处理函数,返回自定义页面响应 - Express:添加全局错误处理中间件,捕获所有未处理异常后返回自定义页面内容
- Rails:在
public目录下新增500.html文件,生产环境会自动调用该页面作为内部服务器错误响应
- Django:关闭
方案2:Heroku平台层配置(适用应用无法启动等平台级错误场景)
- 仅当应用完全无法响应请求时,才会触发Heroku平台的错误页规则,配置方式如下:
- 将编写好的自定义500页面部署为可独立访问的静态资源,所有页面引用资源需使用绝对路径,页面体积不超过1MB
- 安装Heroku CLI后执行命令:
heroku config:set ERROR_PAGE_URL=你的自定义页面静态地址 --app 你的Heroku应用名
注意事项
- 自定义错误页请勿依赖应用内部的接口、静态资源路由,否则错误发生时相关资源无法加载,会导致页面展示异常
- 平台层配置仅对Heroku抛出的系统错误生效,应用运行时的内部错误仍需通过应用层配置实现自定义
内容的提问来源于stack exchange,提问作者Matthew Benchimol
相关产品推荐
相关产品推荐

