Eve*_*rck 3 ip clientip server-side-rendering next.js
我正在制作一个天气应用程序,我使用 IPIFY 获取客户端 IP,但这会丢失 SSR,或者我使用 SSR 并获取服务器 IP。有人告诉我,我可以使用标头x-forwarded-for,然后使用该值通过 SSR 进行天气 API 调用。
问题是我只使用nextjs,这里没有后端,其次,我不知道如何x-forwarded-for在前端调用或使用来获取客户端IP。
这可能吗?
我怎样才能实现它?
我正在使用 vercel 来部署应用程序。
更新了自 Node.js v13.0.0 以来request.connection已弃用的答案。所以我们现在应该改用。request.socket
export const getServerSideProps = async ({ req }) => {
const forwarded = req.headers['x-forwarded-for'];
const ip = typeof forwarded === 'string' ? forwarded.split(/, /)[0] : req.socket.remoteAddress;
console.log(ip);
return {
props: { ip },
};
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13274 次 |
| 最近记录: |