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

三、完成

相关推荐
IpdataCloud2 天前
IPv6查出来的地理位置是错的?技术解析与双栈定位方案
数据库·tcp/ip·ip
万维易源4 天前
免费 IP 查询接口推荐:含国内精准到县区方案
ip·免费接口·免费ip查询
Yoyo Chen1804 天前
DeepSeek API涨价观察:AI行业从免费到收费的转折点
大数据·人工智能·创业创新·ip
g3voip7 天前
工业防爆电话选型指南:防爆参数、SIP接入与调度系统集成
linux·服务器·网络·信息与通信·ip·pbx
2401_873479407 天前
IP地址位置精确查询的原理是怎样的?从城市级到街道级的技术拆解
网络·网络协议·tcp/ip·ip
liulilittle10 天前
UCP 控制协议 [简述]
网络·网络协议·计算机网络·udp·ip·通信
2401_8734794011 天前
IPv6查出来的地理位置是错的?用双栈IP库解决定位偏差问题
网络·数据库·tcp/ip·ip
2401_8734794015 天前
IPv6支持不足怎么办?用双栈兼容IP离线库实现平滑过渡
数据库·网络协议·tcp/ip·ip
2401_8734794016 天前
风控引擎高并发IP查询方案对比:开源Rust库 vs 商业离线库,怎么选?
tcp/ip·rust·开源·ip
IpdataCloud17 天前
评估交易IP是否来自制裁国家?IP地址查询+政治敏感标签库实操指
网络·网络协议·tcp/ip·ip