Laravel
December 18, 2023

Ошибка подключения ресурсов Laravel-проекта с туннелем через ngrok

При загрузке страницы, предоставленной ngrok, в консоли браузера получаю ошибку:

Mixed Content: The page at 'https://generated-name.ngrok-free.app/' was loaded over HTTPS, but requested an insecure stylesheet 'http://generated-name.ngrok-free.app/build/assets/app-790066b2.css'. This request has been blocked; the content must be served over HTTPS.

Страница загружается по HTTPS, а ресурсы приложения по HTTP.

Чтобы приложение начало отдавать ссылки со схемой HTTPS в файле App\Providers\AppServiceProvider можно форсировать замену схемы в методе boot:

<?php

namespace App\Providers;

use App\Services\PaymentService;
use Illuminate\Routing\UrlGenerator;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    ...
    
    /**     
     * Bootstrap any application services.     
     */    
    public function boot(UrlGenerator $url): void    
    {      
         // Если нужно конкретизировать среду запуска приложения:
         // if (env('APP_ENV') === 'production') {}            
         
         $url->forceScheme('https');          
     }
}

Решение нашла тут.