From a3d74c0b57acc81c3501e66134a8a9841983c653 Mon Sep 17 00:00:00 2001 From: Klaus Date: Tue, 30 Sep 2025 18:22:46 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20Payverse=20Webhook=20=EC=97=94=EB=93=9C?= =?UTF-8?q?=ED=8F=AC=EC=9D=B8=ED=8A=B8=EC=97=90=EC=84=9C=20=EC=8B=A4?= =?UTF-8?q?=EC=A0=9C=20=ED=81=B4=EB=9D=BC=EC=9D=B4=EC=96=B8=ED=8A=B8=20IP?= =?UTF-8?q?=EB=A5=BC=20=EA=B0=80=EC=A0=B8=EC=98=AC=20=EC=88=98=20=EC=9E=88?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/vividnext/sodalive/can/charge/ChargeController.kt | 7 ++++++- src/main/resources/application.yml | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/ChargeController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/ChargeController.kt index 00c2baf..db56535 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/ChargeController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/ChargeController.kt @@ -59,7 +59,12 @@ class ChargeController( @RequestBody request: PayverseWebhookRequest, servletRequest: HttpServletRequest ): PayverseWebhookResponse { - val remoteIp = servletRequest.remoteAddr ?: "" + val header = servletRequest.getHeader("X-Forwarded-For") + val remoteIp = if (header.isNullOrEmpty()) { + servletRequest.remoteAddr + } else { + header.split(",")[0].trim() // 첫 번째 값이 클라이언트 IP + } print("Payverse Webhook Request: $remoteIp") print("Payverse Webhook Request: $payverseInboundIp") diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index cf444de..15abb0b 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,6 +1,7 @@ server: shutdown: graceful env: ${SERVER_ENV} + forward-headers-strategy: framework logging: level: