Heim >Backend-Entwicklung >PHP-Tutorial >Wie leite ich alle Laravel 5-Anfragen mit Domänenausnahmen auf HTTPS um?
Frage: Wie leite ich in einer Laravel 5-Anwendung alle Anfragen an HTTPS um und lasse dabei Ausnahmen zu? spezifisch Domänen?
Antwort:
Um die HTTPS-Umleitung zu erzwingen, können Sie eine Middleware-Klasse verwenden. So geht's:
namespace MyApp\Http\Middleware; use Closure; use Illuminate\Support\Facades\App; class HttpsProtocol { public function handle($request, Closure $next) { // In production environment, redirect non-secure requests if (!$request->secure() && App::environment() === 'production') { return redirect()->secure($request->getRequestUri()); } return $next($request); } }
Anwendung:
Middleware in der Kernel.php-Datei registrieren:
protected $middleware = [ ... 'MyApp\Http\Middleware\HttpsProtocol', ];
Cloudflare-Konfiguration :
Wenn Sie Cloudflare verwenden, kann es zu einer Umleitungsschleife kommen. Um dieses Problem zu beheben:
Fügen Sie die folgende Zeile zu Ihrer Middleware hinzu:
$request->setTrustedProxies([$request->getClientIp()]);
Erstellen Sie im Cloudflare-Kontrollfeld eine neue Seitenregel:
Laravel v5.3 und höher:
Für Laravel v5.3 und höher binden Sie einfach die Middleware in das Web ein Gruppe:
protected $middlewareGroups = [ 'web' => [ ... 'MyApp\Http\Middleware\HttpsProtocol' ], ];
Andere Hinweise:
Das obige ist der detaillierte Inhalt vonWie leite ich alle Laravel 5-Anfragen mit Domänenausnahmen auf HTTPS um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!