获取请求的真实ip

一、node代码

javascript 复制代码
const app = express();
app.get("/abc", (req, res) => {
 const forwardedForHeader = req.get("X-Forwarded-For");
 const realIpHeader = req.get("X-Real-IP");
 let realIp = null;

 if (forwardedForHeader && forwardedForHeader.length > 0) {
   // 逗号分隔的IP地址列表,取第一个地址为真实IP
   realIp = forwardedForHeader.split(",")[0].trim();
 } else if (realIpHeader) {
   // 如果X-Forwarded-For未设置,则使用X-Real-IP
   realIp = realIpHeader.trim();
 }
 if (!realIp) {
   realIp = req.socket.remoteAddress;
 }
 logger.info(realIp, "------真实ip------");
})

二、nginx配置(必须配置)

bash 复制代码
location ^~ /api {
    proxy_pass http://127.0.0.1:1111/a/;
    proxy_set_header Host 127.0.0.1;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

如果没配置,那么就可能拿不到真实ip

三、完成

相关推荐
tang777897 小时前
爬虫代理IP池到底有啥用?
网络·爬虫·python·网络协议·tcp/ip·ip
liulilittle13 小时前
IP 溯源技术原理
服务器·网络·tcp/ip·ip·trace·通信·sy
刘一说2 天前
告别“版本漂移”:彻底解决 macOS 上 NVM 默认 Node 版本失效的难题
macos·node·nvm
czxyvX2 天前
008-网络层
网络·ip
蜡台3 天前
Node Vue 项目开发常见问题解决
前端·javascript·vue.js·git·node
雨洛lhw3 天前
基于 FPGA 的主机 IP 自动配置方案设计
udp·mac·ip·fpga·dhcp
科技块儿17 天前
开发者需要为网站或应用集成IP归属地显示功能,如何选择可靠的数据源?
服务器·网络·数据库·tcp/ip·edge·ip
追光天使23 天前
局域网ip、公网ip、域名相关概念和关系
域名·ip·域名解析·公网ip·局域网ip
Trouvaille ~24 天前
【Linux】网络进阶:NAT技术与代理服务器详解
linux·运维·网络·nginx·ip·nat·代理服务器
tang777891 个月前
深挖66免费代理网站:隐藏功能与真实体验报告
爬虫·python·网络爬虫·ip