EdgeOne Pages がミドルウェア機能を正式リリース、Next.js ミドルウェアのエッジデプロイメントを完全サポート

EdgeOne Pages がミドルウェア機能を正式にサポートしたことをお知らせいたします。これにより、エッジノードでユーザーリクエストをインターセプトして処理し、ページの読み込み前にカスタムロジックを実行できるようになり、アプリケーションの応答性が向上し、アーキテクチャがより柔軟になります。
なぜミドルウェアが必要なのか?
ミドルウェアとは、リクエストが最終目的地に到達する前に実行されるコードです。ユーザーリクエストをインターセプトし、リダイレクト、リライト、リクエストヘッダーの変更などの操作を実行できます。これはリクエストの「門番」のようなもので、本格的な処理の前にフィルタリングと前処理を行います。
従来のアーキテクチャでは、これらの処理ロジックはオリジンサーバーに戻して実行する必要があり、レイテンシが増加するだけでなく、オリジンサーバーに追加の負担がかかっていました。EdgeOne Pages のミドルウェアはエッジノードで実行され、これらの軽量な処理ロジックをユーザーに最も近い場所に前置します。リクエストはオリジンサーバーに到達する前に判断と処理を完了できます。
ユースケース
ミドルウェアの適用シナリオは主に以下のカテゴリに分類されます:
- トラフィック管理: パス、ドメイン、Cookie、地域などの条件に基づいてリクエストルーティングを動的に制御し、カナリアリリース、A/Bテスト、国際化(i18n)などの機能を実現します。
- セキュリティ保護: エッジでトークン認証、IP制限、地域ブロック、Referer直リンク防止などの検証を完了し、悪意のあるリクエストをオリジンサーバーの外でブロックします。
- パフォーマンス最適化: 特定のリクエストに対してJSON、HTML、またはリダイレクトレスポンスを直接返し、不要なオリジンへの往復を削減し、全体的な応答速度を向上させます。
フレームワークサポート
EdgeOne Pages はプラットフォームレベルの汎用ミドルウェアサービスを提供しています。どのような技術スタックを使用していても、エッジノードでカスタムロジックを実行できます。また、主要なフルスタックフレームワークにも対応しており、フレームワークネイティブのミドルウェア構文をそのまま使用でき、デプロイ後は自動的にエッジノードで実行されます。
Next.js
Pages は Next.js ミドルウェア を完全にサポートしており、Middleware(Next.js 12+)と Proxy(Next.js 16)の両方の記述方法に対応しています。どちらの方法を使用しても、構文は Next.js 公式と一致しています。Pages にデプロイすると、ミドルウェアは追加設定なしで自動的に EdgeOne のエッジノードで実行されます。
Astro
Astro ミドルウェアの対応は現在進行中です。今後のバージョンでサポートを提供する予定ですので、ご期待ください。
ご利用開始
ミドルウェア機能は現在すべての Pages ユーザーにご利用いただけます。詳細はドキュメントをご覧ください。ご使用中にご質問がございましたら、Discord コミュニティにご参加いただき、フィードバックをお寄せください。