Rescrieri de rute (rewrites) în next.config.js – Mascarea adreselor interne în Next.js

Mapează o cale publică către o altă destinație internă sau externă fără a modifica URL-ul afișat în browserul vizitatorului.

Sintaxă
module.exports = {
  async rewrites() {
    return [
      {
        source: '/api/v1/:path*',
        destination: 'https://backend.dexblog.ro/api/:path*',
      },
    ];
  },
};

Ce face Rescrieri de rute (rewrites) în next.config.js - Mascarea adreselor interne

Spre deosebire de o redirecționare (unde utilizatorul vede noua adresă în browser), directiva rewrites() funcționează ca un Reverse Proxy transparent.

Clientul solicită `/api/v1/produse`, dar Next.js citește datele silențios de la `https://microserviciu-intern:8080/produse` și i le livrează clientului.

Elimină complet problemele de CORS în dezvoltare și permite migrarea treptată a aplicațiilor vechi către Next.js.

Exemple

Exemplul 1: Rutarea transparentă a cererilor API către un backend Python FastAPI

Ocolește restricțiile de securitate CORS fără a expune portul intern.

module.exports = {
  async rewrites() {
    return [
      {
        source: '/backend/:path*',
        destination: 'http://127.0.0.1:8000/:path*',
      },
    ];
  },
};

Ieșire în terminal

Cererile către /backend/utilizatori ajung intern la serverul Python.

Greșeli frecvente

  • Confuzia între `rewrites` (mascare invizibilă) și `redirects` (redirecționare vizibilă cu cod 301/302).

Comenzi înrudite