客户端 ip"/>
如何在 IIS 上的 nodeJS 中获取客户端 ip
我已经在 nodejs 中创建了应用程序并部署在 IIS 上 我无法获得客户的 ips。 我已经尝试了很多模块和 SO 答案,但仍然没有用。
服务器代码
var express = require('express');
var app = express();
var requestIp = require('request-ip');
var ip = require("ip");
var get_ip = require('ipware')().get_ip;
//app.enable('trust proxy');
app.get('/', function(req, res) {
var op = {
op: [
req.headers["X-Forwarded-For"],
req.headers["x-forwarded-for"],
req.client.remoteAddress,
ip.address(),
requestIp.getClientIp(req),
get_ip(req),
req.ip,
req.ips,
1122 //hard coded number.
]
}
res.send(op);
});
var server = app.listen(4000, function() {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http' + host + port);
});
在 iis 上部署,这就是答案
{
"op": [null,
null,
null,
"216.157.123.123", //server ip
null,
{ "clientIp": "127.0.0.1", "clientIpRoutable": false },
null,
[],
1122]
}
我需要在 IIS 上配置一些东西吗?
回答如下:您是否安装了“增强型日志记录”或“高级日志记录附加组件”?
http://loadbalancer/blog/iis-and-x-forwarded-for-header
更多推荐
如何在 IIS 上的 nodeJS 中获取客户端 ip
发布评论