Cloud Management: HTTP Status Codes and Error Handling
HTTP status codes are how the web returns errors from the server to the web browser. If there is an error from your upstream website, the error is simply forwarded by the Moovweb servers to the browser. If there is an error from the Moovweb servers (either in the Moovweb Cloud or in your Moovweb project) Moovweb generates a 53x HTTP status code. When users encounter HTTP errors most often the error comes directly from your upstream host. If the HTTP status code appears in the table below, then the error came from the Moovweb Cloud. The Moovweb error can be in your project code or it can come from Moovweb servers. Refer to the table below for more details on the type and source of the error.
Moovweb-Specific HTTP Status Codes
|530||Internal Moovweb Error||Unexpected error in the Moovweb Cloud. Contact Moovweb support.|
|531||Upstream Timeout||Timeout connecting to your upstream website or receiving response from your upstream website. Check your originating website for issues.|
|532||Bad Request||The received HTTP request is not valid. Check your requesting URL and your project config.|
|533||Engine Timeout||The engine timed out executing your project code. Check your project code for performance or blocking issues.|
|534||Engine Error||There was an error or exception executing your project code. Check the Moovweb Control Center under ‘Debug Logs’ to see the details and update your project code.|
|535||Project Fetch Error||The HTTP header ‘hostname’ is missing or does not match any active Moovweb project. Check your requesting URL and your project config.|
|536||Access Denied Error||The upstream address resolved to an IP that is blocked by a proxy (via ip-blacklist config). Check your project for invalid host or IP address.|
|537||DNS Resolution Error||The Moovweb servers received a DNS error when attempting to resolve the upstream hostname. Check your project config and your domain’s DNS setup.|
|538||Request Loop Error||User exceeded the maximum level (4) of nested Moovweb requests. “Nested” means a Moovweb site is the upstream of another Moovweb site. Exceeding the limit results in a request loop error, indicating the request’s upstream origin site is itself.|
When running a Moovweb project locally, errors in code are shown to the developer — through the logs, in the browser window, and in the command line.
On the cloud, exceptions are handled slightly differently. For 534 errors, the page is perfect proxied. For non-534 errors, an error message is sent to the user. The error message will have a token that can be used for easy access to the stack trace of the error.
The error message and stack is logged in the console. The
pageType of the request, if set in the
env namespace, is also logged.