0

我正在制作一个天气应用程序,我使用 IPIFY 获得客户端 IP,但这会丢失 SSR,或者我使用 SSR 并获得服务器 IP。有人告诉我,我可以使用标头x-forwarded-for,然后使用这个值,使用 SSR 进行天气 API 调用。

问题是我只用了nextjs,这里没有后端,二是不知道怎么x-forwarded-for在前端调用或者使用获取客户端IP。

  1. 这可能吗?

  2. 我该如何实现呢?

我正在使用 vercel 来部署应用程序。

4

2 回答 2

2

干得好:

export async function getServerSideProps({ req }) {
  const forwarded = req.headers["x-forwarded-for"]
  const ip = forwarded ? forwarded.split(/, /)[0] : req.connection.remoteAddress
  return {
    props: {
      ip,
    },
  }
}
于 2021-10-07T19:03:14.270 回答
0

我认为您可以通过getServerSideProps获得它们。

export async function getServerSideProps({ req }) {
  console.log(req.headers) //see if you have those headers
  return {
    props: {
      headers
    },
  }
}

function Page({ headers }) {
  // Render data...
}
于 2021-02-09T03:04:34.243 回答