ホームページ >バックエンド開発 >PHPチュートリアル >ミドルウェアを使用してLaravel 5でHTTPSリダイレクトを実装する方法?
Laravel 5: ミドルウェアを使用した HTTPS リダイレクトの実装
Laravel 5 では、ミドルウェアを使用してアプリケーションに HTTPS アクセスを強制できます。これを達成する方法についてのステップバイステップのガイドは次のとおりです。
1.ミドルウェア クラスの作成
まず、新しいミドルウェア クラスを作成します。
namespace MyApp\Http\Middleware; use Closure; use Illuminate\Support\Facades\App; class HttpsProtocol { public function handle($request, Closure $next) { if (!$request->secure() && App::environment() === 'production') { return redirect()->secure($request->getRequestUri()); } return $next($request); } }
2.ミドルウェアをリクエストに適用
次に、ミドルウェアを $middleware 配列に追加して、app/Http/Kernel.php に登録します。
protected $middleware = [ 'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode', 'Illuminate\Session\Middleware\StartSession', 'Illuminate\View\Middleware\ShareErrorsFromSession', // Add your middleware here 'MyApp\Http\Middleware\HttpsProtocol' ];
3. Cloudflare の設定
Cloudflare を使用している場合は、ミドルウェアに seguintes 行を追加します:
$request->setTrustedProxies([$request->getClientIp()]);
4. Laravel v5.7 での例外の処理
Laravel v5.7 では、URL::forceScheme('https') を使用した非 HTTPS リクエストのリダイレクトはリクエストをリダイレクトしなくなりました。適切なリダイレクトを確保するには、上記の方法を使用してください。
結論
このミドルウェアを実装すると、次のような状況でも、Laravel 5 アプリケーションに HTTPS アクセスを強制できます。特定のドメインのみが SSL を使用します。このアプローチは柔軟であり、特定の要件や環境に基づいてカスタマイズできます。
以上がミドルウェアを使用してLaravel 5でHTTPSリダイレクトを実装する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。