Skip to Content
Serveur LinuxPartie 7 — Nginx : le reverse proxyVue d'ensemble

Partie 7 — Nginx : le reverse proxy

⏱️ TL;DR — Ton app Node ou Next tourne sur 127.0.0.1:3000, ta base est branchée, mais personne d’Internet ne peut y accéder proprement. Il manque la porte d’entrée web : Nginx. C’est le reverse proxy — la façade qui écoute sur les ports 80 et 443, sert les fichiers statiques à toute vitesse, relaie le reste vers ton ou tes apps locales, et centralise le TLS, la compression, le cache et les logs. Cette partie t’apprend à l’installer, à comprendre sa structure de fichiers Debian/Ubuntu, à servir du statique, à proxifier une app, à héberger plusieurs sites sur une seule IP, et à régler perf et logs. À la fin, Nginx est en façade et sert le front et l’API de FormaCampus.

Le problème qu’on résout

Jusqu’ici, ton app écoute sur un port privé (127.0.0.1:3000). C’est très bien pour développer, mais inexploitable en prod : un visiteur tape formacampus.fr sur le port 443, pas :3000 sur une IP nue. Tu pourrais faire écouter Node directement sur le port 80 — mauvaise idée, et le chapitre 7.1 explique pourquoi (root, TLS, sécurité, un seul processus par port…).

La bonne architecture, universelle en prod, c’est une façade devant l’app : un serveur web spécialisé qui reçoit tout le trafic public, gère le HTTPS, sert les fichiers statiques efficacement, et transmet les requêtes dynamiques à l’app qui, elle, reste bien au chaud sur son port local. Ce serveur de façade, dans ce cours, c’est Nginx.

Ce que tu sauras faire à la fin de cette partie

  • Expliquer le rôle d’un reverse proxy et pourquoi on n’expose jamais Node ou Next directement.
  • Installer Nginx, comprendre son service et son arborescence Debian/Ubuntu (sites-available, sites-enabled, nginx -t).
  • Servir un site statique ou une SPA avec les bons try_files, cache et droits.
  • Proxifier une app Node/Next avec les bons en-têtes (Host, X-Forwarded-*) et le support des WebSockets.
  • Héberger plusieurs sites et sous-domaines sur un seul VPS avec des server blocks distincts.
  • Régler la compression, le cache, client_max_body_size, et lire les logs pour déboguer un 502, 504 ou 413.

Les chapitres

#ChapitreEn un mot
7.1Pourquoi un reverse proxyLe rôle de la façade, et pourquoi ne pas exposer l’app.
7.2Installer & structurer NginxLe service, l’arborescence, nginx -t, le premier server.
7.3Servir du statiqueroot, try_files, SPA, cache des assets, droits.
7.4Proxy vers une appproxy_pass, en-têtes, WebSockets, timeouts.
7.5Vhosts multi-sitesPlusieurs domaines et sous-domaines sur une IP.
7.6Perf, cache & logsGzip, cache, uploads, logs, et déboguer les 5xx.

Cette partie te donne la façade web. La Partie 8 — HTTPS avec Let’s Encrypt viendra ensuite chiffrer cette façade et brancher les certificats gratuits sur les server blocks que tu auras écrits ici.


On commence : Pourquoi un reverse proxy.

Last updated on