nodejs 获取客服端ip,以及获取ip一直都是127.0.0.1的问题
个人博客vue3 nodejs mysql )http://36.151.145.67:30000/一、问题描述在做登录日志的时候想要获取客户端的ip, 网上查了一下 通过req.headers[x-forwarded-for] || req.connection.remoteAddress;获取 结果获取了之后不管是开发环境还是生产环境获取到的一直都是 127.0.0.1这是因为在配置Nginx的时候配置了如下框传来的内容 这样Nginx默认将自己的地址设置为客户端的地址。二、解决办法给Nginx配置加上proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;这样才能用req.headers[x-forwarded-for] || req.connection.remoteAddress;获取到真实 ip如下图三、附上我的获取的代码关键如下try { let ip req.headers[x-forwarded-for] || req.connection.remoteAddress || Unknown; if (ip.includes(:)) { ip ip.includes(:) ? ip.split(:).slice(-1)[0] : ip; } const city new IP2Region().search(ip) ? new IP2Region().search(ip).city new IP2Region().search(ip).isp : ; const os getOS(req.headers[user-agent]); const browser req.headers[user-agent].split( )[0]; const sql INSERT INTO logs (username, ip, city, browser, os, create_time) VALUES (?,?,?,?,?,?); const params [user.username, ip, city, browser, os, moment().format(YYYY-MM-DD HH:mm:ss)]; db.queryAsync(sql, params).then(_ { res.send({ code: 200, msg: 登录成功, token }); }); } catch (error) { console.log(-------- logs error --------, error); res.send({ code: 200, msg: error, token });

相关新闻

基于Spring Boot的动物保护协会网站设计与实现

基于Spring Boot的动物保护协会网站设计与实现

又是一年毕设季,每年这个时候总有学弟学妹来问我“做什么题目好”。如果你正愁找不到一个既有实际意义、技术栈又够主流、还能在答辩时讲得出亮点的题目,我强烈建议你看看这个方向:基于Spring Boot的动物保护协会网站。这个题目我前后带过几个…

2026/10/11 4:24:11 阅读更多 →
论文AI率标红怎么改?24小时应急降AI率实战策略

论文AI率标红怎么改?24小时应急降AI率实战策略

临近答辩,打印店里排队的间隙打开学校要求的检测平台,看到“AI疑似占比”那一栏飘红的时候,心跳漏半拍的感觉只有经历过的人懂。不用问我是怎么知道的——每年这个季节,总有学生半夜把论文甩给我,开头第一句永远是“老…

2026/10/11 4:24:11 阅读更多 →
Java与C++数组深度对比:从内存模型到性能陷阱

Java与C++数组深度对比:从内存模型到性能陷阱

关于数组方面Java和C的对比写在前面数组这玩意儿,我接触过的绝大多数新人都没把它当回事,不就是连续内存里存一串相同类型的元素嘛,Java有、C也有,语法大差不差,谁还不会写个int[] arr new int[10]和int arr[10]。但真…

2026/10/11 4:24:11 阅读更多 →

最新新闻

2026年10款硬核降AI率网站推荐:AIGC检测轻松绿灯过关

2026年10款硬核降AI率网站推荐:AIGC检测轻松绿灯过关

随着知网、维普、万方等主流学术平台对AIGC检测标准持续升级,论文合规性成为研究者必须面对的挑战。选择一款高效的降AI工具,是规避风险、提升通过率的关键。本文将实测对比10款主流工具,为读者提供精准的解决方案参考。为什么需要降 AI 率工…

2026/10/11 5:03:30 阅读更多 →
opencode 工具层与服务面实战:从能跑到好用的工程化配置指南

opencode 工具层与服务面实战:从能跑到好用的工程化配置指南

1. 从"能跑"到"好用":opencode 工具层到底解决了什么问题很多人第一次接触 opencode,注意力都放在"它能不能连上模型、能不能出结果"上。等真正把基础链路跑通之后才会发现,决定一个 AI 编程助手能不能长期留在…

2026/10/11 5:03:30 阅读更多 →
PCL2启动器完全指南:从选型到模组加载与性能调优

PCL2启动器完全指南:从选型到模组加载与性能调优

1. 为什么我最终选择了PCL2:一个启动器的选型逻辑1.1 从原版启动器到第三方启动器的认知转变很多刚接触Minecraft的玩家,最开始用的都是官方原版启动器。说实话,原版启动器能用,但用起来总觉得差点意思——正版验证要联网、多版本…

2026/10/11 5:03:30 阅读更多 →
如何高效搭建AI日报:信息源、筛选与结构化处理实战

如何高效搭建AI日报:信息源、筛选与结构化处理实战

1. 一份AI日报的诞生逻辑:从信息洪流到决策参考每天早上七点半,我的浏览器会同时打开十几个标签页。这不是什么仪式感,纯粹是被逼出来的——过去三年我一直在一家做智能硬件的公司负责技术情报和竞品追踪,老板要求每天九点前把过去…

2026/10/11 5:03:30 阅读更多 →
五、AI 量化交易完整学习路线(从零到实战)

五、AI 量化交易完整学习路线(从零到实战)

这套课程大纲,已经不是“普通量化课”了,本质上是在培养: “AI 多智能体 量化交易 自动化交易系统”的复合型能力。 它覆盖了: 传统量化AI AgentMCP 工具协议多智能体协作自动化交易AI 投研风控强化学习实盘闭环 如果按照正确…

2026/10/11 5:03:30 阅读更多 →
Buzz 离线语音转文字完整指南:本地 Whisper 转录与字幕生成

Buzz 离线语音转文字完整指南:本地 Whisper 转录与字幕生成

Buzz 离线语音转文字完整指南:本地 Whisper 转录与字幕生成 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz 给两小…

2026/10/11 5:02:30 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →