ロードバランサーまたはリバースプロキシの背後に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 ); } });
以上がLaravelアプリケーションでのプロキシトラストの管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。