egg.js 获取客户端真实ip

前言:在使用egg.js的时候,一般会开node服务,然后使用nginx代理我们egg.js的接口,因此产生了egg.js获取的ip地址并不是客户端真实ip,而是拿到的是nginx 的地址。故需要两点:

  1. 配置egg.js
  2. 配置nginx

1.配置egg.js

路径 config/config.default.js

# 注意,开启此模式后,应用就默认自己处于反向代理之后,
# 会支持通过解析约定的请求头来获取用户真实的 IP,协议和域名。
# 如果你的服务未部署在反向代理之后,请不要开启此配置,以防被恶意用户伪造请求 IP 等信息。
config.proxy = true;

2. 配置nginx

location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Real-Port $remote_port;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_pass http://127.0.0.1:81;
}

在代理前加上如上三条即可。详解请参考,鸣谢!!!

3. 获取ip

获取ip就就简单了

this.ctx.request.ip

获取ip并完成存储ip请,传送门

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值