Heim >Backend-Entwicklung >PHP-Tutorial >Wie leite ich in Laravel 5 zu HTTPS um?
In Laravel 5 umfasst die Implementierung der HTTPS-Umleitung entweder die Verwendung einer Middleware oder eines Ereignis-Listeners. Eine Middleware ist ein saubererer und unkomplizierterer Ansatz.
Erstellen Sie eine Middleware-Klasse:
namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Request; use Illuminate\Support\Facades\App; class HttpsProtocol { public function handle(Request $request, Closure $next) { if (!$request->secure() && App::environment() === 'production') { return redirect()->secure($request->getRequestUri()); } return $next($request); } }
Registrieren Sie die Middleware in der Datei Kernel.php:
protected $middleware = [ // Other middleware 'App\Http\Middleware\HttpsProtocol', ];
Bei der Verwendung von Cloudflare kann es zu Problemen kommen Umleitungsschleifen. Fügen Sie Ihrer Middleware die folgende Zeile hinzu:
$request->setTrustedProxies([$request->getClientIp()]);
Dies vertraut den Headern, die CloudFlare sendet, und verhindert so die Umleitungsschleife.
In früheren Versionen von Laravel, env('APP_ENV') === 'Produktion' wurde verwendet. Ersetzen Sie dies in Laravel 5.7 und höher durch App::environment() === 'Produktion'.
Durch die Implementierung der HTTPS-Umleitung mit Middleware oder Ereignis-Listenern können Sie HTTPS-Verbindungen erzwingen Ihre Laravel-Anwendung. Denken Sie daran, bei Bedarf die Cloudflare-Einstellungen zu berücksichtigen und die umgebungsabhängige Umleitung entsprechend anzupassen.
Das obige ist der detaillierte Inhalt vonWie leite ich in Laravel 5 zu HTTPS um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!