获取请求的真实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

三、完成

相关推荐
儒雅的烤地瓜1 天前
计算机网络 | 路由器局域网(内网)IP和外网(公网)IP的区别与联系
网关·tcp/ip·智能路由器·ip·外网·内网·nat技术
未来侦察班21 天前
网络协议 网络层,万物归于IP
网络·网络协议·协议·ip·网络层·tcpip
袁小皮皮不皮22 天前
1.HCIP BFD 学习笔记(优化版)
服务器·网络·笔记·网络协议·学习·智能路由器·ip
2401_8734794024 天前
如何用IP离线库阻断挖矿和僵尸网络?DNS层防护实战指南
网络·网络协议·tcp/ip·ip
IpdataCloud24 天前
信贷审核中如何验证用户地址与IP属地一致性?用IP查询工具实现反欺诈
开发语言·tcp/ip·金融·php·ip
2401_873479401 个月前
如何用IP离线库检测DNS隧道和C2通信?企业DNS安全防护指南
网络·数据库·tcp/ip·安全·ip
treesforest1 个月前
自媒体账号限流排查指南:从风控算法视角看IP纯净度与网络隔离
网络·tcp/ip·ip·媒体
2401_873479401 个月前
企业安全运营中,如何用IP离线库提前发现失陷主机?三步实现风险画像
网络·数据库·python·tcp/ip·ip
Irissgwe1 个月前
9、数据链路层
linux·网络·mac·ip·数据链路层·arp协议·以太网帧格式
网络研究院1 个月前
Google 恢复了用于 AdSense 中 B2B 帐户定向完整的 IP 地址
搜索引擎·google·ip·谷歌·广告·adsense