Heim > Backend-Entwicklung > PHP-Tutorial > Wie leite ich alle Laravel 5-Anfragen mit Domänenausnahmen auf HTTPS um?

Wie leite ich alle Laravel 5-Anfragen mit Domänenausnahmen auf HTTPS um?

Mary-Kate Olsen
Freigeben: 2024-12-04 21:13:13
Original
399 Leute haben es durchsucht

How to Redirect All Laravel 5 Requests to HTTPS with Domain Exceptions?

Laravel 5: HTTPS-Umleitung erzwingen

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);
    }
}
Nach dem Login kopieren

Anwendung:

Middleware in der Kernel.php-Datei registrieren:

protected $middleware = [
    ...
    'MyApp\Http\Middleware\HttpsProtocol',
];
Nach dem Login kopieren

Cloudflare-Konfiguration :

Wenn Sie Cloudflare verwenden, kann es zu einer Umleitungsschleife kommen. Um dieses Problem zu beheben:

  1. Fügen Sie die folgende Zeile zu Ihrer Middleware hinzu:

    $request->setTrustedProxies([$request->getClientIp()]);
    Nach dem Login kopieren
  2. Erstellen Sie im Cloudflare-Kontrollfeld eine neue Seitenregel:

    • URL abgleichen: *
    • Einstellungen: Immer verwenden HTTPS

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'
    ],
];
Nach dem Login kopieren

Andere Hinweise:

  • Stellen Sie sicher, dass Ihr SSL für die von Ihnen angegebenen Domänen ordnungsgemäß konfiguriert ist.
  • Die Umgebung, von der aus Sie umleiten (HTTP), muss sich von der Produktionsumgebung (HTTPS) unterscheiden ).
  • Sie können das Middleware-Verhalten weiter verfeinern, indem Sie die Anforderungsdomäne oder andere Faktoren überprüfen.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage