From d67716516cca649f8b92a9c0db4598ae5e550c42 Mon Sep 17 00:00:00 2001 From: mrKamoo Date: Fri, 31 Jul 2026 08:18:53 +0200 Subject: [PATCH] fix: forcer HTTPS pour eviter mixed content en prod Derriere reverse proxy, Laravel voyait les requetes en http et generait des URLs d'assets http:// sur une page https:// (bloque par le navigateur). Trust des headers X-Forwarded-* + forceScheme quand APP_URL est en https. --- app/Providers/AppServiceProvider.php | 5 +++++ bootstrap/app.php | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 850b67d..1e3ebfa 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,6 +2,7 @@ namespace App\Providers; +use Illuminate\Support\Facades\URL; use Illuminate\Support\Facades\Vite; use Illuminate\Support\ServiceProvider; @@ -23,5 +24,9 @@ class AppServiceProvider extends ServiceProvider Vite::prefetch(concurrency: 3); \Illuminate\Support\Facades\Route::model('commande', \App\Models\Order::class); \Illuminate\Support\Facades\Route::model('materiel', \App\Models\Hardware::class); + + if (str_starts_with(config('app.url'), 'https://')) { + URL::forceScheme('https'); + } } } diff --git a/bootstrap/app.php b/bootstrap/app.php index d5e4b70..caaac0b 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -4,6 +4,7 @@ use Illuminate\Foundation\Application; use Illuminate\Foundation\Configuration\Exceptions; use Illuminate\Foundation\Configuration\Middleware; use Illuminate\Http\Request; +use Symfony\Component\HttpFoundation\Request as SymfonyRequest; return Application::configure(basePath: dirname(__DIR__)) ->withRouting( @@ -17,7 +18,13 @@ return Application::configure(basePath: dirname(__DIR__)) \Illuminate\Http\Middleware\AddLinkHeadersForPreloadedAssets::class, ]); - // + $middleware->trustProxies( + at: '*', + headers: SymfonyRequest::HEADER_X_FORWARDED_FOR + | SymfonyRequest::HEADER_X_FORWARDED_HOST + | SymfonyRequest::HEADER_X_FORWARDED_PORT + | SymfonyRequest::HEADER_X_FORWARDED_PROTO, + ); }) ->withExceptions(function (Exceptions $exceptions): void { $exceptions->shouldRenderJsonWhen(