Skip to content

Commit dfdd735

Browse files
committed
refactor: IP address handling in ipaddrPlugin
1 parent b3d79ae commit dfdd735

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

packages/velog-server/src/common/plugins/global/ipaddrPlugin.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,12 @@ const ipaddrPlugin: FastifyPluginAsync = async (fastify) => {
44
fastify.decorateRequest('ipaddr', null)
55
fastify.addHook('preHandler', (request, reply, done) => {
66
const fromCdnIp = request.headers['gcdn-client-ip']
7+
const xForwardedIp = request.headers['X-Forwarded-For']
8+
79
const graphCdnAddress = Array.isArray(fromCdnIp) ? fromCdnIp[0] : fromCdnIp
8-
const ipaddr = graphCdnAddress || request.ips?.slice(-1)[0] || request.ip
10+
const xForwardedForAdress = Array.isArray(xForwardedIp) ? xForwardedIp[0] : xForwardedIp
11+
12+
const ipaddr = xForwardedForAdress ?? graphCdnAddress ?? request.ips?.slice(-1)[0] ?? request.ip
913
request.ipaddr = ipaddr
1014
done()
1115
})

0 commit comments

Comments
 (0)