| 12345678910111213141516171819 |
- import { NextApiRequest, NextApiResponse } from 'next'
- const handler = async (req: NextApiRequest, res: NextApiResponse) => {
- let ipAddress = req.headers['x-real-ip'] as string
- const forwardedFor = req.headers['x-forwarded-for'] as string
- // With CF infront, the user IP will be in this header instead of the x-forwared-for
- const cfConnectingIp = req.headers['cf-connecting-ip'] as string
- if (cfConnectingIp) {
- ipAddress = cfConnectingIp.split(',').at(0) ?? 'Unknown'
- } else if (!ipAddress && forwardedFor) {
- ipAddress = forwardedFor.split(',').at(0) ?? 'Unknown'
- }
- return res.status(200).json({ ipAddress })
- }
- export default handler
|