Next.js 16でmiddleware.tsがproxy.tsにリネームされた
Next.js
Next.js 16でmiddleware.tsがproxy.tsにリネームされた。
変更点:
- ファイル名:
middleware.ts→proxy.ts - 関数名:
middleware()→proxy() - 設定フラグ:
skipMiddlewareUrlNormalize→skipProxyUrlNormalize
変更理由:
- 「middleware」はExpress.jsと混同されやすかったため、ネットワーク境界での処理という役割を明示する「proxy」に変更
- ランタイムがNode.js固定に統一(Edge Runtimeは非対応)
- 2025年3月に発覚したmiddlewareの脆弱性(
x-middleware-subrequestヘッダーで認証バイパス可能)を受け、認証目的での使用を避ける方向へ
マイグレーション:
Edge Runtimeが必要な場合は従来のmiddleware.tsを継続利用可能だが非推奨。