Почему request()->isSecure()
возвращает false
при посещении HTTPS-URL? Я использую Laravel Forge и у меня есть балансировщик нагрузки. При регистрации запроса я получаю эти данные:
request()->url(), // "http://xx.xx"
request()->isSecure(), // false
request()->getClientIps(), // XX.XX.XX.XX
В TrustProxies
(который добавляется в массив $middleware
в Http/Kernel.php
):
protected $proxies = [
'XX.XX.XX.XX', // exactly the same as in the logged data above
];
В моем AppServiceProvider
boot()
методе:
if (env('APP_ENV') == 'production') {
\URL::forceScheme('https');
}
Edit:
Я также использую Cloudflare, и я добавил все прокси Cloudflare к $proxies
. Проверьте логи, я вижу эти заголовки в запросе:
X-Forwarded-Proto: http
Cf-Visitor: {"scheme":"https"}
Referer: https://xx.xx/someurl