Whenever your app experiences an error Heroku returns a standard error page with HTTP status code
503. To debug the underlying error Heroku also adds custom error information to your log entries. Each type of error gets its own error code, with all HTTP errors starting with the letter
H and all runtime errors starting with
R. Logging errors start with
||Request timeout||An HTTP request took longer than 30 seconds to complete causing a request timeout|
||No web dynos running||check your app in the resouces tab of the dashboard or with
||Request Interrupted||Either the client socket or your web process socket was closed before the backend returned an HTTP response|
||Backend connection timeout||routing could not connect to your web process within 5 seconds, a sign your app is overwhelmed|
||App boot timeout||At least 1 web dyno must reach the “up” state within 75 seconds or the router logs an
||Maintenance mode||see guide to maintenance mode, if certain you can swich maintenance mode off with
||Exit timeout||process failed to exit within 10 seconds of being sent a SIGTERM, so the process is sent SIGKILL to force an exit|
||Platform error||check Heroku Status for details if you see these error codes|
See the full list of Heroku error codes for more details.
There are well defined error codes when communicating via HTTP/S. Its useful to know a few of the key codes so you can understand the log output quicker should their be an issue.
200 OK- Standard response for successful HTTP requests.
400 Bad Request- server cannot or will not process the request due to a client error.
403 Forbidden- a valid request, but the server is refusing to respond, authenticating makes no difference.
404 Not Found- requested resource could not be found
408 Request Timeout- server timed out waiting for the request.
500 Internal Server Error- an unexpected condition was encountered and no more specific message is suitable.
503 Service Unavailable- server is currently unavailable, eg. its overloaded or down for maintenance.
For more details on HTTP errors, see the List of HTTP status codes on Wikipedia.