javascript - 如何在 Node.js 中使用“x-forwarded-for”(如果可能,不使用 Express)
问题描述
对于我当前的项目,我需要在 Node.js 中获取远程 IP 地址 http.createServer((req,res)=>{}); 功能。我尝试查看 Node.js 本身的 API 文档,但没有成功,然后求助于 Google,大多数答案似乎都使用 Express.js。答案似乎指向 req.connection.remoteAddress (有效,但如果与代理一起使用会中断)或 req.headers['x-forwarded-for'],但是当我尝试使用它时返回未定义。任何帮助是极大的赞赏。
解决方案
您几乎拥有它,请尝试:
var clientip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
clientip
如果使用代理,这将设置为正确的值。如果没有使用代理,则clientip
设置为启动连接的客户端的 IP 地址。
推荐阅读
- asp.net - .Net ajax post 方法 Newtonsoft.Json 程序集
- docker - 本地 Logstash SNS 输出到 Docker 中的 goaws SNS 主题
- javascript - 鼠标按下时旋转补间停止和补间开始
- android - Kotlin URL().readText(),如何从返回转换字符串
- python - 使用 pip 安装 pycrypto 失败
- python-3.x - 如何删除 Flask 中作为 URL 的图像?
- c# - KeyDown 对单独的文本框的响应不同
- ruby - TypeError:没有将 Symbol 隐式转换为 Integer,试图根据参数进行过滤
- bash - 用重复的常量值填充文件?
- laravel - 加载资源失败:net::ERR_CONNECTION_REFUSED、socket io、redis