码迷,mamicode.com
首页 > Web开发 > 详细

实践使用nodejs获取用户真实IP?

时间:2020-07-11 00:10:36      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:消息   反向代理   ESS   应用服务   socket   服务器   服务   fun   rem   

先上代码

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?

标签:消息   反向代理   ESS   应用服务   socket   服务器   服务   fun   rem   

原文地址:https://www.cnblogs.com/walkermag/p/13281852.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!