From ee86fa303f5b1da3fc90c00f5cf57fbde6cd6a57 Mon Sep 17 00:00:00 2001 From: Fovway Date: Sun, 26 Oct 2025 07:11:48 +0700 Subject: [PATCH] modified: server.js --- server.js | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/server.js b/server.js index aa54d82..8dc135a 100644 --- a/server.js +++ b/server.js @@ -307,24 +307,17 @@ function getClientIP(req) { console.log("ALL HEADERS:", JSON.stringify(req.headers, null, 2)); console.log("========================"); - // Проверяем X-Forwarded-For заголовок в первую очередь - let ip = req.headers["x-forwarded-for"]?.split(",")[0].trim(); + // Используем req.socket.remoteAddress напрямую, так как nginx передает внутренний IP контейнера + let ip = req.socket?.remoteAddress; - // Если X-Forwarded-For не определен, пробуем другие заголовки - if ( - !ip || - ip === "127.0.0.1" || - ip === "::1" || - ip === "::ffff:127.0.0.1" || - ip === "172.17.0.1" - ) { + // Если remoteAddress недоступен, пробуем заголовки + if (!ip || ip === "::1") { ip = + req.headers["x-forwarded-for"]?.split(",")[0]?.trim() || req.headers["x-real-ip"] || req.headers["x-client-ip"] || req.ip || req.connection?.remoteAddress || - req.socket?.remoteAddress || - req.connection?.socket?.remoteAddress || "unknown"; }