From 0f8c6ccc574a32cbc97ca9b7eebc09f43e120159 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 12 Nov 2025 12:37:12 +0000 Subject: [PATCH] =?UTF-8?q?Fix:=20Configuration=20trust=20proxy=20plus=20s?= =?UTF-8?q?=C3=A9curis=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problème: - trust proxy: true est trop permissif - Permet à n'importe qui de contourner le rate limiting - Erreur: ERR_ERL_PERMISSIVE_TRUST_PROXY Solution: - Utilisation de trust proxy: 1 au lieu de true - Indique exactement 1 proxy devant l'application (nginx) - Plus sécurisé: seul le premier proxy est considéré comme fiable - Empêche les attaques par falsification de X-Forwarded-For Configuration appropriée pour une architecture Docker avec nginx reverse proxy. --- server.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server.js b/server.js index 93c4e64..0b3128f 100644 --- a/server.js +++ b/server.js @@ -14,8 +14,9 @@ const app = express(); const PORT = process.env.PORT || 2222; // Configurer Express pour faire confiance au proxy (nginx, etc.) -// Nécessaire pour express-rate-limit et pour obtenir la vraie IP du client -app.set('trust proxy', true); +// Utiliser 1 pour indiquer qu'il y a 1 proxy devant (nginx/reverse proxy) +// Plus sécurisé que 'true' qui accepterait n'importe quel proxy +app.set('trust proxy', 1); // Créer les dossiers nécessaires (silencieusement, ils peuvent déjà exister via les volumes Docker) const dataDir = path.join(__dirname, 'data');