`
wangheid
  • 浏览: 36925 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

node.js 获取外网IP

    博客分类:
  • js
 
阅读更多

/**

 * 获取ip地址

 * @param  {HTTP Request} req http请求信息

 * @return {String}     ip地址

 */

function getIP(req) {

    var ip = null;

    if ( req.headers['x-forwarded-for'] ) {

        ip = req.headers['x-forwarded-for'];

    }

    else if ( req.headers['x-real-ip'] ) {

        ip = req.headers['x-real-ip'];

    }

    else if ( req.headers['remote_addr'] && req.headers['client_ip'] )

    {

        ip = req.headers['client_ip'];

    }

    else if ( req.headers['remote_addr'] )

    {

        ip = req.headers['remote_addr'];

    }

    else if ( req.headers['client_ip'] )

    {

        ip = req.headers['client_ip'];

    }

    else {

        return "0.0.0.0";

    }


    return ip;

};

分享到:
评论

相关推荐

    Node.js-proxy基于electron开发的内网穿透工具

    Node.js-proxy是一个使用Node.js和Electron框架构建的内网穿透工具,旨在帮助用户在内网环境下访问或暴露他们的服务到公网。这个工具允许开发者或者普通用户在没有公网IP或者受到网络限制的情况下,能够使外部设备与...

    Node.js-利用websocket实现简单的外网映射工具便于日常调试接口

    本项目以"Node.js-利用websocket实现简单的外网映射工具便于日常调试接口"为主题,旨在探讨如何借助WebSocket技术来创建一个实用的外网映射工具,从而简化接口调试过程。 WebSocket是一种在客户端和服务器之间建立...

    head-node.tar.gz

    本文将详细介绍如何在无法连接外网的情况下,使用"head-node.tar.gz"离线安装包来安装ES Head插件的5.0以上版本。 首先,了解ES Head插件。Head插件是一款基于浏览器的ES管理工具,它提供了一个直观的用户界面,...

    nodejs获取本机内网和外网ip地址的实现代码

    本文将详细解释Node.js环境下如何实现获取本机的内网和外网IP地址的代码。 ### Node.js环境配置 Node.js是一种基于Chrome V8引擎的JavaScript运行时环境。它的特点是非阻塞、事件驱动的I/O模型,非常适合网络应用...

    基于node下的http小爬虫的示例代码

    Node.js是一个开源的、跨平台的JavaScript运行环境,它允许我们在服务器端执行JavaScript代码。由于JavaScript是客户端脚本语言,Node.js的出现使得开发者可以利用JavaScript进行全栈开发。 首先,我们来看一下`...

    無名網絡 WwW.Yu23.CoM 全站程序

    3. **框架和库**: 开发者可能会使用前端框架(如React, Angular, Vue.js)和JavaScript库(如jQuery)来提高开发效率和用户体验。 **后端开发**: 1. **服务器端语言**: 如PHP、Python、Node.js、Java等,这些语言...

    ELK分析日志利用高德地图显示IP地理位置

    - 由于Node.js官网在国外,下载速度较慢,可选择从淘宝镜像下载: ```bash wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz tar -zxvf node-v4.4.7-linux-x64.tar.gz ...

    计算机生产实习报告.完整项目.docx

    - **交互功能**:使用JavaScript实现数据请求和处理,Node.js搭建服务器环境,支持Ajax技术。 - **数据可视化**:利用Echarts插件将处理后的数据转化为图表,便于用户理解和分析。 5. **后台搭建与设计** - **...

    crawler:节点爬行动物

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,由于其非阻塞I/O和事件驱动的特性,非常适合用来开发爬虫。 描述中提到的"node原生模块fs,http爬取数据"是指在Node.js中使用的两个核心模块:`fs`和`http`。`...

    网管软件使用说明202004031

    - **外网连接需求**:为了能够顺利安装和配置网管软件,安装主机需要具备外网访问能力。 - **软件文件放置**:需将从指定FTP服务器(`ftp://10.111.1.29`)下载的“网管软件”文件夹放置于C盘根目录。 - **Node.js...

    elasticsearch Lnuix 环境搭建说明

    - 外网访问配置: ```yaml network.host: 0.0.0.0 http.cors.enabled: true http.cors.allow-origin: "*" ``` #### 系统资源限制配置 - **文件描述符限制**:Elasticsearch对文件描述符数量有较高需求,需要...

    bipio:bip.io API服务器

    bip.io是运行'bips'的基于Node.js的Web自动化框架。 Bip是Web自动化代理。 Bip可以连接许多不同的Web服务并执行有用的工作。 它可以代表您执行或按照您的命令执行。 Bips可以顺序或并行执行操作,并根据需要将Web...

    详解jenkins自动化部署vue

    1. **npm 代理问题**:如果 Jenkins 服务器访问外网受限,需要设置 npm 配置以使用代理。可以使用以下命令设置 HTTP/HTTPS 代理,并将 `ip:port` 替换为实际代理服务器的 IP 地址和端口。同时,为了更快的下载速度,...

    SLIGHTBOY.COM 整站程序

    后端则涉及服务器端语言(如PHP、Python、Node.js等)以及数据库管理,处理用户请求和数据存储。 2. **访问统计**:在网站运营中,访问统计是非常重要的一环,它能帮助我们了解网站的流量、用户行为、来源、停留...

    5分钟搭建一个WebRTC视频聊天

    将示例配置文件`turnserver.conf`复制到bin目录并进行配置,设置监听端口、内网和外网IP,以及认证用户和密码。启动服务。 #### 3. **测试NAT穿透服务器** 在WebRTC测试页面(如:...

    前端初级程序员面试宝典

    Node.js作为服务器端JavaScript运行环境,可能会涉及模块化、非同步编程、Express框架等相关知识。构建工具Webpack则需要理解其模块打包原理、配置项、Loader和Plugin的应用,以及如何优化构建过程。 前端框架...

    DzzOffice+OnlyOffice安装部署手册.rar

    1. 安装Node.js和NPM,OnlyOffice的部分组件需要它们: ```bash curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash - sudo yum install -y nodejs ``` 2. 下载并解压OnlyOffice社区版: ```bash wget ...

    webrtc 内外穿透打洞,改了配置直接可以用(window版本)

    - 运行这个服务器,可能需要了解服务器的运行环境,如Node.js、Python或其他服务器平台,并确保所有依赖项已正确安装。 在实际应用中,开发者不仅需要理解WebRTC的这些基本概念,还需要考虑安全性、带宽管理、音...

Global site tag (gtag.js) - Google Analytics