js获取客户端ip地址 获取当前客户端IP地址详解

如果一个客户端请求被nginx代理转发并发送到node.js服务器,想得到客户端的真实ip地址而不是nginx服务器的地址,该怎么办?首先,在nginx中配置代理服务器接收到的头信息。proxy_set_header用于配置代理服务器接收的报头信息。配置语法如下:proxy_set_header field value;其中...

如果一个客户端请求被nginx代理转发并发送到node.js服务器,想得到客户端的真实ip地址而不是nginx服务器的地址,该怎么办?

首先,在nginx中配置代理服务器接收到的头信息。

proxy_set_header用于配置代理服务器接收的报头信息。配置语法如下:

proxy_set_header field value;

其中field是要设置的变量名,value是变量值。

这里我们将真实的客户端ip设置为X-Real-ip,然后发送给代理服务器,这样代理服务器就可以通过头信息得到客户端的真实ip。配置如下:

server { listen 80; server_name yuanjingyan.com; if ( $host !~* "yuanjingyan.com" ) { return 404; } location / { proxy_pass http://ip:port; proxy_set_header X-Real-IP $remote_addr; } }

然后在node.js中获取客户端真实ip

在node.js中,我们可以通过nginx中配置的变量X-Real-ip来获取客户端的真实IP。代码如下:

var clientIP = context.req.headers['x-real-ip']; //客户端ip,获取的是经过nginx代理后的真实请求ipif(!clientIP){ clientIP=context.req.connection.remoteAddress; //客户端ip,获取的是没有经过nginx代理后的真实请求ip}

需要注意的是,头标中的“x-real-ip”要用小写写,而不是“X-Real-IP”,否则得不到数据。

本文来自罗金艺还行吧投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/520113.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 04-25
下一篇 04-25

相关推荐

  • twitter客户端怎么注册 3步注册好twitter账号

    使用Twitter账户作为品牌营销的一种手段已经变得非常流行。有了Twitter账号,你可以把自己作为一个专业人士或者一个好的公司形象介绍给更多的受众,同时增加自己的知名度。接下来,我们来学习如何创建一个Twitter账号,这样你就可以快速学会如何创建一个Twitter账号。步骤1:在

    2023-07-26 02:18:01
    670 0
  • mysql客户端哪个好用 最好的MySQL客户端推荐

    我们在选择工具的时候,往往会优先考虑那些免费的,好用的!Navicat作为一款付费软件,功能强大,但并不能阻止我们探索新的工具。最近体验了MySQL的官方客户端工具MySQL Workbench。本文将它与Navicat进行对比,看它能否取代Navicat!固定我们先安装MySQL Workbench。上面有个

    2023-07-22 08:56:01
    982 0
  • outlook邮箱客户端登录不了 免费个人电子邮件和日历

    Outlook,定位器同步Win10版本。但是在Outlook***客户端上,QQ邮箱一直无法登录。通过自我探索,最终成功。步骤如下:案例描述:华为定位器在国内或国外使用,登录其QQ邮箱。Outlook,我主要使用它的日程管理和邮件接收功能,有助于电脑和***同步,对于商务人士来说,可以很好的

    2023-07-20 06:29:01
    205 0
  • pc端应用界面ui设计规范 pc客户端设计尺寸

    优秀的移动UI界面设计对于提高用户体验的满意度,增加客户对应用的粘度有着重要的作用。今天边肖主要分享ui界面设计的规则和规范,希望对你有所帮助!视觉一致性用户界面视觉设计最重要的原则是一致性原则。具体表现就是给用户提供统一的界面,也就是说用户可以花更少的时间在

    2023-07-15 06:33:01
    421 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信