博客
关于我
nodejs+nginx获取真实ip
阅读量:793 次
发布时间:2023-02-16

本文共 1466 字,大约阅读时间需要 4 分钟。

配置Nginx

location / {            proxy_set_header Host $http_host;            proxy_set_header X-Real-IP $remote_addr;            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            proxy_pass http://127.0.0.1:8360/;        }

Node.js获取IP地址

var getIp = function(_http) {            var ipStr = _http.headers['X-Real-IP'] || _http.headers['x-forwarded-for'];            if (ipStr) {                var ipArray = ipStr.split(",");                if (ipArray && ipArray.length > 0) {                    return ipArray[0];                }            } else {                return _http.ip().substring(_http.ip().lastIndexOf(":") + 1);            }        };     var getNetIp = function(_http) {        var ipStr = _http.headers['X-Real-IP'] || _http.headers['x-forwarded-for'];        if (ipStr) {            var ipArray = ipStr.split(",");            if (ipArray.length > 1) {                for (var i = 0; i < ipArray.length; i++) {                    var ipNumArray = ipArray[i].split(".");                    var tmp = ipNumArray[0] + "." + ipNumArray[1];                    if (tmp == "192.168" || (ipNumArray[0] == "172" && ipNumArray[1] >= 16 && ipNumArray[1] <= 32) || tmp == "10.7") {                        continue;                    }                    return ipArray[i];                }            }            return ipArray[0];        } else {            return _http.ip().substring(_http.ip().lastIndexOf(":") + 1);        }    };

转载地址:http://ctjfk.baihongyu.com/

你可能感兴趣的文章
Neo4j(2):环境搭建
查看>>
Neo私链
查看>>
nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>
Nessus漏洞扫描教程之配置Nessus
查看>>
Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
查看>>
NetApp凭借领先的混合云数据与服务把握数字化转型机遇
查看>>
NetBeans IDE8.0需要JDK1.7及以上版本
查看>>
netcat的端口转发功能的实现
查看>>
netfilter应用场景
查看>>
netlink2.6.32内核实现源码
查看>>
Netpas:不一样的SD-WAN+ 保障网络通讯品质
查看>>
NetScaler的常用配置
查看>>
netsh advfirewall
查看>>
NETSH WINSOCK RESET这条命令的含义和作用?
查看>>
Netty WebSocket客户端
查看>>
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
Netty事件注册机制深入解析
查看>>
Netty原理分析及实战(四)-客户端与服务端双向通信
查看>>