Skip to content

Latest commit

 

History

History
17 lines (8 loc) · 767 Bytes

2017-01-02.md

File metadata and controls

17 lines (8 loc) · 767 Bytes

express 中获取 ip 的几种方式

req.headers[‘x-forwarded-for’]

如果你的服务在你自己的 nginx 或者其他代理后面,你可以直接通过这个参数来获取请求 ip,但是不要相信他人的代理。

req.connection.remoteAddress

默认情况下,一般没有设置 IPV6_V6ONLY 参数,那么监听 IPv6 连接的 socket 也将捕获 IPv4 连接并进行同样处理,进行 IPv4-to-IPv6 映射,所以你将会获得类似 ::ffff:192.168.1.10 的 ip 值。你可以通过是否包含 :: 来判断是 IPv4 还是 IPv6。

req.connection.socket.remoteAddress

在 https 情况下,req.connection.remoteAddress 是 undefined 的,但是你可以用 req.connection.socket.remoteAddress 获取。

1463 days left