实践使用nodejs获取用户真实IP?
Posted 刨根
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实践使用nodejs获取用户真实IP?相关的知识,希望对你有一定的参考价值。
先上代码
var http = require(‘http‘)
var server = http.createServer(function (req,res) {
console.log(req.headers[‘x-forwarded-for‘] ); // 判断是否有反向代理
console.log(req.socket.remoteAddress ); // 判断后端的 socket 的 IP
let ip = req.headers[‘x-forwarded-for‘] || req.socket.remoteAddress
res.end(ip)
})
server.listen(‘9098‘)
x-forwarded-for是什么?
X-Forwarded-For 是一个扩展header头。HTTP/1.1(RFC 2616)协议并没有对它的定义,用来表示 HTTP 请求端真实 IP,现在已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用,并被写入 RFC 7239(Forwarded HTTP Extension)标准之中.
由人为设置
一些代理服务器会设置一些消息头,比如nginx会在转发请求的时候可以带上这个消息头,向应用服务传递客户端的真是IP
以上是关于实践使用nodejs获取用户真实IP?的主要内容,如果未能解决你的问题,请参考以下文章