proxy.ts (ex-middleware.ts)

React 🟡 Mid

Définition

Depuis Next.js 16 (21 octobre 2025), le fichier middleware.ts est renommé proxy.ts et sa fonction exportée proxy ; il s'exécute par défaut sur Node.js. Il intercepte les requêtes avant le rendu pour rediriger, réécrire, poser des en-têtes ou cookies, filtré par un matcher. Le renommage vise à clarifier son rôle de frontière réseau et à décourager son usage pour de la logique métier.

Analogie

Le portier d'immeuble : il oriente et vérifie le badge à l'entrée, mais ne fait pas le travail des bureaux.

Exemple de code

// proxy.ts
import { NextResponse, type NextRequest } from 'next/server';

export function proxy(request: NextRequest) {
  if (!request.cookies.has('session')) {
    return NextResponse.redirect(new URL('/login', request.url));
  }
  return NextResponse.next();
}
export const config = {
  matcher: ['/((?!api|_next/static|_next/image|favicon.ico).*)'],
};
// Codemod : npx @next/codemod@canary middleware-to-proxy .

Cas d'usage

Redirections de session, en-têtes CORS, A/B testing par cookie, réécritures d'URL legacy.

Anti-pattern

Oublier le matcher (le proxy tourne alors sur chaque asset) ou déléguer toute l'autorisation au proxy alors que les Server Functions doivent se protéger elles-mêmes.
#nextjs#routing#auth

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre