Menu Developer Moovweb University

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

Code Name Description
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.
539 Worker Transform Timeout The JavaScript engine did not respond, usually due to a fatal exception in the user’s code. Click the ‘Stack Traces’ button in the Control Center project to see the details of the exception.

Error Handling

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.