bfo*_*ine 4 http express socket.io
我有一个在Nginx后面运行的Express应用程序,所以当我尝试获取用户的IP时,我总是得到127.0.0.1而不是真正的那个,这是由Nginx在X-Real-IP标题中设置的.我如何获得此标题?有没有办法把它通过的socket对象呢?
代码基本上是这样的:
io.sockets.on( 'connection', function( socket ) {
var ip = /* ??? */;
/* do something with the IP…
… some stuff …
*/
});
Run Code Online (Sandbox Code Playgroud)
ajt*_*rds 20
要在NGINX或其他代理后面运行时获取IP:
var ip = req.header('x-forwarded-for') || req.connection.remoteAddress;
Run Code Online (Sandbox Code Playgroud)
或者对于Socket.IO
client.handshake.headers['x-forwarded-for'] || client.handshake.address.address;
Run Code Online (Sandbox Code Playgroud)
来自:http://www.hacksparrow.com/node-js-get-ip-address.html
| 归档时间: |
|
| 查看次数: |
10857 次 |
| 最近记录: |