Laravel Показывает белый экран с HTTPS

#php #laravel #nginx

Вопрос:

У меня странная проблема, когда Laravel не работает по протоколу HTTPS, но отлично работает по протоколу http.

Если я перейду на свою домашнюю страницу»/», это сработает. Но если я попытаюсь перейти на любой другой маршрут, он выдаст мне белый экран.

В хранилище/журналах нет журналов, журналы ошибок nginx пусты, а журналы доступа nginx показывают, что запрос получен.

То, что я сделал:

1. Я повторил код, изменив index.php Сбой происходит где-то с этим называется:

public/index.php

 echo 'Working!'; $response = tap($kernel-gt;handle(  $request = Request::capture() ))-gt;send(); echo 'Crashes';  

2. Я прокомментировал все мое промежуточное программное обеспечение в app/Http/Kernel.php. Все еще случается

Любое это происходит ТОЛЬКО при активации HTTPS, но работает с http. Есть какие-нибудь идеи, что это может быть?

Комментарии:

1. Является ли этот белый экран результатом какой-либо ошибки? Каков код ответа HTTP?

2. Проверьте, работает ли модуль перезаписи в случае HTTPS настройки

3. Я превратил отладку в истину. Это трудно диагностировать, потому что я ничего не получаю ни в каких журналах, кроме журнала доступа.

4. Можете ли вы проверить диск. Может быть, он полон.

5. Каков код ответа HTTP? Что еще вы пытались решить проблему, например: добавить дамп var, вызвать фатальные ошибки,….

Ответ №1:

Я понял это, проблема была в твоем app/Http/TrustProxies.php, у вас есть эта строка:

protected $proxies = '*';

Вы, вероятно, получите это, если у вас есть https, завершающийся в балансировщике нагрузки, и перенаправленный на порт HTTP в экземпляре (мы находимся на AWS и у нас есть эта настройка).

Вы можете настроить его так, чтобы он доверял только определенным прокси-серверам, но эта проблема не приведет к появлению сообщения об ошибке в любом месте, которое поможет вам отладить его.