Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Yes—an Inertia site can return HTTP 200 while its separate server-side rendering (SSR) process is unavailable. In the Laravel adapter 3.x, SSR failures fall back to client-side rendering by default unless you enable throw_on_error. A 200 means the HTTP request succeeded; it does not prove SSR produced the page.

Why the site can return 200 when SSR is down

Inertia SSR runs in a separate background rendering service. The web application can still handle a request if that service cannot render: the Laravel adapter’s documented default is to fall back to client-side rendering. The adapter configuration states, “When SSR rendering fails, Inertia gracefully falls back to client-side rendering.” Inertia Laravel adapter 3.x configuration

HTTP status and rendering mode describe different things. Inertia’s protocol documentation shows HTTP 200 responses for both initial HTML requests and Inertia JSON visits. The status alone therefore cannot tell you whether the SSR service participated. Inertia protocol documentation

How to check whether SSR is available

Run the Laravel availability check

For Laravel, run php artisan inertia:check-ssr in the deployed application environment. Inertia’s v2 SSR guide documents this command as an availability check and notes it can be used as a Docker health check. Check your installed adapter version before relying on commands from a versioned guide. Inertia v2 server-side rendering guide

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check the process and deployment environment

Because SSR is a separate server, verify that the process manager starts it, can restart it after a crash or deployment, and has access to the runtime and SSR bundle. The v2 guide gives Laravel’s php artisan inertia:start-ssr and php artisan inertia:stop-ssr commands and recommends keeping the SSR process running under a monitor that can restart it.

Inspect the response body and rendered page

Look at the actual response, not just the status code. An initial request normally returns HTML; an Inertia visit carrying X-Inertia: true returns a JSON page object. If the initial HTML is only the app shell and the page appears after JavaScript runs, that is consistent with client-side rendering. Treat it as a clue, not proof: confirm against the response and the behavior of your adapter.

Choose how SSR failures should affect requests

In the documented Laravel adapter 3.x configuration, throw_on_error defaults to false. Choose deliberately between keeping the fallback and making SSR errors visible in the request path.

Failure behavior Effect Operational consideration
Fallback (Laravel 3.x documented default) SSR failure falls back to client-side rendering. Requests may continue to render, so use an independent health check and alert to detect an unavailable SSR process.
throw_on_error SSR failures throw instead of silently falling back. Failures become more visible, but can affect request availability; account for your production error handling and user impact.

The same configuration identifies the InertiaSsrSsrRenderFailed event for application-level handling. You can listen for it to log or report an SSR failure while retaining fallback behavior. These configuration details are specific to the Laravel adapter 3.x; do not assume another adapter or version uses the same setting or event. Laravel adapter configuration

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep SSR failures separate from application errors

A failed SSR render is not the same as a failed route, database operation, or application request. Fallback can preserve page availability when rendering fails, but it should not turn genuine application errors into successful responses. Inertia’s production error-handling guidance shows custom handling that preserves underlying 500 and 503 statuses and recommends a production Inertia error page. Inertia v2 error handling

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Check version-specific behavior

The failure setting above is from the current Laravel adapter 3.x configuration. The deployment and health-check commands cited here are in the Inertia v2 SSR guide, which notes that v3 is now the default. Verify your installed package’s configuration and release notes before applying either to a different adapter or version.

Version differences matter: a January 7, 2022 release note for inertia-laravel@0.5.1 lists a fix for a null response after SSR server crashes. That historical fix is not evidence that every version behaves identically. Inertia Laravel 0.5.1 release note

Best Value
Dell EMC PowerEdge R240 1U Short Depth Server, Core i3-8100 CPU, 8GB Memory, 480GB SSD, Rails (Renewed)
  • Core i3-8100 3.6GHz 4-Core Processor
  • 8GB (1x 8GB) DDR4 Memory
  • 480GB SATA 6Gbps SSD
  • 2x Integrated 1GbE RJ45 NIC Ports -- Bring Your Own PCIe NIC
  • Shallow/Short Depth Rackmount Server

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.