- app/Http/Middleware/TrustProxies.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?php declare(strict_types=1); namespace App\Http\Middleware; use Illuminate\Http\Middleware\TrustProxies as Middleware; use Illuminate\Http\Request; class TrustProxies extends Middleware { /** * The trusted proxies for this application. * * @var array<int, string>|string|null */ protected $proxies = '*'; /** * The headers that should be used to detect proxies. * * @var int */ protected $headers = Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO | Request::HEADER_X_FORWARDED_AWS_ELB; } |
AWSでACMからのALBでフォーム送信する場合、セキュリティ保護されていないメッセージが出てしまう。これはALBからのリクエストがHTTPとしてLaravelに認識されてしまうため、LaravelのTrustProxiesミドルウェアで適切なヘッダーを設定する必要がある。HEADER_X_FORWARDED_PROTOとHEADER_X_FORWARDED_AWS_ELBを含めることで、ALBからのリクエストで送信されるX-Forwarded-Protoヘッダーを信頼し、リクエストがhttpsとして認識されるようになる。
https://laravel.com/api/11.x/Illuminate/Http/Middleware/TrustProxies.html
Was this helpful?
0 / 0
1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。