ホームページ >バックエンド開発 >PHPチュートリアル >Laravelアプリケーションでのプロキシトラストの管理

Laravelアプリケーションでのプロキシトラストの管理

Karen Carpenter
Karen Carpenterオリジナル
2025-03-05 16:46:09488ブラウズ

Managing Proxy Trust in Laravel Applications

ロードバランサーまたはリバースプロキシの背後にLaravelアプリケーションを展開するには、クライアントデータとHTTPS検出を正確に管理するために、TrustProxiesミドルウェアの慎重な構成が必要です。 これにより、これらの環境でアプリケーションが正しく機能するようになります

ミドルウェアの構成の基本的な例:

use Illuminate\Http\Request;

// Basic proxy configuration
->withMiddleware(function (Middleware $middleware) {
    $middleware->trustProxies(at: [
        '10.0.0.0/8',
        '172.16.0.0/12'
    ]);
});
さまざまなクラウド環境に合わせて、より堅牢な例を調べてみましょう。

このアプローチは、アプリケーションの環境変数(

)に基づいて
<?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
            );
    }
});
ミドルウェアを動的に調整します。 これにより、アプリケーションがAWS、デジタルオーシャン、または別のプラットフォームでローカルで実行されるかどうかに関係なく、クライアント情報の正確な処理が保証されます。 このミドルウェアの正しい構成は、プロキシの背後に展開されているLaravelアプリケーションの信頼できる操作に重要です。

以上がLaravelアプリケーションでのプロキシトラストの管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。