Maison > développement back-end > tutoriel php > Gestion de la confiance proxy dans les applications Laravel

Gestion de la confiance proxy dans les applications Laravel

Karen Carpenter
Libérer: 2025-03-05 16:46:09
original
487 Les gens l'ont consulté

Managing Proxy Trust in Laravel Applications

Déployer les applications Laravel derrière des équilibreurs de charge ou des proxys inversés nécessite une configuration minutieuse du middleware TrustProxies pour gérer avec précision les données client et la détection HTTPS. Cela garantit correctement que votre application fonctionne correctement dans ces environnements.

Voici un exemple de base de la configuration du middleware:

use Illuminate\Http\Request;

// Basic proxy configuration
->withMiddleware(function (Middleware $middleware) {
    $middleware->trustProxies(at: [
        '10.0.0.0/8',
        '172.16.0.0/12'
    ]);
});
Copier après la connexion

Examinons un exemple plus robuste adapté à différents environnements cloud:

<?php

use Illuminate\Http\Request;

?>

->withMiddleware(function (Middleware $middleware) {
    // Environment-specific proxy configuration
    $environment = env('APP_ENV');

    switch ($environment) {
        case 'production':
            // AWS ELB configuration
            $middleware->trustProxies(
                at: '*',
                headers: Request::HEADER_X_FORWARDED_AWS_ELB
            );
            break;

        case 'staging':
            // Digital Ocean configuration
            $middleware->trustProxies(
                at: '*',
                headers: Request::HEADER_X_FORWARDED_FOR |
                    Request::HEADER_X_FORWARDED_HOST |
                    Request::HEADER_X_FORWARDED_PORT |
                    Request::HEADER_X_FORWARDED_PROTO
            );
            break;

        default:
            // Local/development configuration
            $middleware->trustProxies(
                at: ['127.0.0.1', '::1'],
                headers: Request::HEADER_X_FORWARDED_FOR |
                    Request::HEADER_X_FORWARDED_PROTO
            );
    }
});
Copier après la connexion

Cette approche ajuste dynamiquement le middleware TrustProxies en fonction de la variable d'environnement de l'application (APP_ENV). Cela garantit une gestion précise des informations des clients, que l'application fonctionne localement, sur AWS, Digital Ocean ou une autre plate-forme. La configuration correcte de ce middleware est cruciale pour le fonctionnement fiable des applications Laravel déployées derrière les proxys.

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!

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