People searching “Laravel health check” build a Vue page that queries the database and then the probe follows a login redirect. Laravel already registers /up from bootstrap/app.php. The deploy guide is everything else a probe sits next to.
TL;DR
- Laravel registers /up.
- A load balancer can hit it.
- The Vue app should not use it as a homepage.
- Do not point it at
/loginor/.
The fix#
->withRouting(
web: __DIR__.'/../routes/web.php',
health: '/up',
)GET /up returns 200 when the app boots. It does not render Inertia. Point the load balancer at that path. Do not point it at /login or /. A login page can return 200 while the app is too sick to serve a real request, and it can also return a redirect your probe treats as failure.
What to avoid#
Gotcha
Do not add auth middleware to /up. The probe is not a user. Do not build a Vue dashboard as the health check. If you need a deeper check, add it on the server and keep the public body empty of secrets.
FAQ#
How do I point the load balancer at /up?
Laravel registers /up. A load balancer can hit it. The Vue app should not use it as a homepage.
What goes wrong with Laravel health check?
Many developers build a Vue page that queries the database and then the probe follows a login redirect. Do not point it at /login or /.



