Yes—an Inertia page can return HTTP 200 while its separate server-side rendering (SSR) service is unavailable. In the Laravel adapter’s 3.x configuration, 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 tell you whether SSR produced the page.
Why the site can return 200 when SSR is down
Inertia SSR runs as a separate background rendering service. When that service cannot render a page, the Laravel adapter can still return a response that the browser renders on the client. The adapter’s 3.x configuration describes the default behavior this way: “When SSR rendering fails, Inertia gracefully falls back to client-side rendering.” See the Inertia Laravel adapter configuration.
As an Amazon Associate I earn from qualifying purchases.
HTTP status and rendering mode answer different questions. The status describes the HTTP outcome; the response content and how the page is rendered indicate the rendering path. Inertia’s protocol documentation shows successful 200 responses for both initial HTML and Inertia JSON responses, so status alone cannot establish that SSR worked: Inertia protocol documentation.
How to check whether SSR is available
Run the Laravel SSR check
For Laravel deployments, run php artisan inertia:check-ssr. The Inertia v2 SSR guide documents this command as an availability check and says it can be used as a Docker health check. Check your installed adapter’s documentation before relying on the command in another version or framework: Inertia v2 server-side rendering guide.
#1 Best Overall
Check the process and deployment environment
Because SSR is a separate service, confirm that your process manager starts it, can restart it after a crash or deployment, and runs it in an environment where the application can access the runtime and SSR bundle. The v2 guide gives Laravel’s example commands as php artisan inertia:start-ssr and php artisan inertia:stop-ssr, and recommends running the server in the background under a process monitor capable of restarting it.
Inspect the response body and rendered page
Look at the response content, not just the status code. An initial page request normally returns HTML; an Inertia visit marked with X-Inertia: true receives a JSON page object. If the initial HTML contains only the application shell and the browser fills in the page after JavaScript runs, that is consistent with client-side rendering. Verify this against the actual response and your adapter rather than treating it as proof based on appearance alone.
Rank #2
Choose how the application should handle SSR failures
| Behavior | What happens | Operational trade-off |
|---|---|---|
| Fallback (Laravel 3.x default) | When SSR fails, the adapter falls back to client-side rendering. | The site may remain available, but you need a separate health check and alert to notice an SSR outage. |
throw_on_error |
SSR failures throw instead of silently falling back. | Failures become visible in the request and error path, but this changes availability behavior and should be considered alongside production error handling. |
These options are documented in the Laravel 3.x adapter configuration; do not assume another adapter or version uses the same setting or default. If you want to keep fallback behavior but still report outages, the configuration identifies the InertiaSsrSsrRenderFailed event for application-level handling.
Keep SSR outages separate from application errors
An SSR rendering failure is not the same as a route, database, or application failure. Fallback can let the browser render a page when SSR is unavailable; it should not turn a genuine application error into a success response. Handle application exceptions with appropriate HTTP statuses and a production error page. Inertia’s v2 error-handling guide shows custom handling that preserves underlying 500 and 503 statuses.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Check version-specific behavior
The failure behavior described above comes from the current Laravel adapter 3.x configuration. The deployment and health-check guidance cited here is for Inertia v2, which notes that v3 is now the default. Framework integrations and adapter versions can differ, so check the configuration and release notes for the package actually installed in your project. A historical example of why that matters: the inertia-laravel 0.5.1 release note, published January 7, 2022, lists a fix for a null response after SSR server crashes.
Quick Recap
Best Value
- 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
Rank #4
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.




