From fb8e955f640a16b254d4d305393002875ce4c814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B0=AC=EA=B8=B0?= Date: Sun, 8 Sep 2024 11:47:16 +0900 Subject: [PATCH] fix: get appropriate client ip from nginx proxy using headers --- src/visitor/service/visitor.service.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/visitor/service/visitor.service.ts b/src/visitor/service/visitor.service.ts index 43f1abc..d013cf3 100644 --- a/src/visitor/service/visitor.service.ts +++ b/src/visitor/service/visitor.service.ts @@ -18,8 +18,12 @@ export class VisitorService { const result: VisitorCountUpResponseDto = { Status: 'fail' }; try { const ip = req.ip; + const realIp = req.headers['x-real-ip'] as string; + const forwardedFor = req.headers['x-forwarded-for'] as string; + + const clientIp = realIp || forwardedFor || ip; const userAgent = req.get('user-agent'); - const uniqueUserInfo = `visitor-${userAgent}${ip}`; + const uniqueUserInfo = `visitor-${userAgent}${clientIp}`; await this.cacheManager.set(uniqueUserInfo, 'visited', 24 * 60 * 60); @@ -41,7 +45,6 @@ export class VisitorService { const allVisitors = allKeys.filter((key: string) => key.includes('visitor-'), ); - console.log(allVisitors); result.Count = allVisitors.length; } catch (err) {