Maison > développement back-end > tutoriel php > Comment rediriger toutes les requêtes Laravel 5 vers HTTPS avec des exceptions de domaine ?

Comment rediriger toutes les requêtes Laravel 5 vers HTTPS avec des exceptions de domaine ?

Mary-Kate Olsen
Libérer: 2024-12-04 21:13:13
original
387 Les gens l'ont consulté

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

Laravel 5 : Appliquer la redirection HTTPS

Question : Comment rediriger toutes les requêtes vers HTTPS dans une application Laravel 5, tout en autorisant des exceptions pour spécifique domaines ?

Réponse :

Pour appliquer la redirection HTTPS, vous pouvez utiliser une classe Middleware. Voici comment :

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);
    }
}
Copier après la connexion

Application :

Enregistrez le middleware dans le fichier Kernel.php :

protected $middleware = [
    ...
    'MyApp\Http\Middleware\HttpsProtocol',
];
Copier après la connexion

Configuration Cloudflare :

Si vous utilisez Cloudflare, vous pouvez rencontrer une boucle de redirection. Pour résoudre ce problème :

  1. Ajoutez la ligne suivante à votre middleware :

    $request->setTrustedProxies([$request->getClientIp()]);
    Copier après la connexion
  2. Dans le panneau de configuration de Cloudflare, créez une nouvelle règle de page :

    • URL de correspondance : *
    • Paramètres : toujours utiliser HTTPS

Laravel v5.3 et versions ultérieures :

Pour Laravel v5.3 et versions ultérieures, incluez simplement le middleware dans le Web groupe :

protected $middlewareGroups = [
    'web' => [
        ...
        'MyApp\Http\Middleware\HttpsProtocol'
    ],
];
Copier après la connexion

Autre Remarques :

  • Assurez-vous que votre SSL est correctement configuré pour les domaines que vous spécifiez.
  • L'environnement à partir duquel vous redirigez (HTTP) doit être différent de l'environnement de production (HTTPS ).
  • Vous pouvez affiner davantage le comportement du middleware en vérifiant le domaine de la requête ou d'autres facteurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal