App is served behind a reverse proxy that terminates TLS and forwards
plain HTTP to nginx on :8001. Without TrustProxies, Laravel couldn't
see the original request was HTTPS, so Livewire generated an http://
update endpoint on an https:// page — browsers block that as mixed
active content. Trusting proxy headers fixes URL generation while
leaving direct LAN http:// access on :8001 unaffected.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Add GET /api/sites endpoint for listing sites with optional name filter,
and GET /api/sites/{site} for showing individual sites. Includes API
resource, controller, routes registration, and comprehensive tests.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>