HI.在node.js中,如果是http请求,我可以在req.connection.remoteAddress获取remoteAddress,
那么,如果https请求如何获得它?我发现有req.socket.remoteAddress但我不确定.请指教.谢谢.
小智 17
看起来确实有些奇怪/破碎.从节点0.4.7开始,http似乎具有remoteAddress:
在https上,这两个都是未定义的,但是
确实有效.但是这个不适用于http,所以你需要仔细检查.我无法想象这种行为是故意的.
由于谷歌搜索"表达js ip"直接指向这里,这在某种程度上是相关的.
Express 3.0.0 alpha现在提供了一种检索客户端请求的IP地址的新方法.简单地使用req.ip.如果你正在做一些代理jiggery-pokery你可能会感兴趣app.set("trust proxy", true);和req.ips.
我建议您阅读Express Google Group中的整个讨论.
var ip = req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress;
Run Code Online (Sandbox Code Playgroud)
请注意,有时您可以在 req.headers['x-forwarded-for'] 中获得多个 ip 地址,特别是在使用手机访问您的服务器(wifi 和运营商数据)时。
| 归档时间: |
|
| 查看次数: |
18933 次 |
| 最近记录: |