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
Mary-Kate OlsenOriginal
2024-12-04 21:13:13390Durchsuche

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);
    }
}

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:

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

    $request->setTrustedProxies([$request->getClientIp()]);
  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'
    ],
];

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!

Stellungnahme:
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