分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

nginx反向代理node.js获取客户端IP

发布时间:2023-09-06 01:28责任编辑:沈小雨关键词:js反向代理nginx

使用Nginx做node.js程序的反向代理,会有这么一个问题:在程序中获取的客户端IP永远是127.0.0.1

如果想要拿到真实的客户端IP改怎么办呢?

一、首先配置Nginx的反向代理 proxy_set_header

 server { ??????listen ??????80; ??????server_name ?chat.luckybing.top; ??????location / { ???????????proxy_set_header Host $host; ???????????proxy_set_header X-Real-IP $remote_addr; ???????????proxy_set_header REMOTE-HOST $remote_addr; ???????????proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ???????????proxy_pass http://127.0.0.1:4000; ???????} ???}

这时Nginx做反向代理就会把客户端的Head信息写入请求的Head中

二、Node.js+Express程序中获取客户端真实IP

用  req.headers[‘x-forwarded-for‘]  || req.headers[‘x-real-ip‘]  来获取客户端IP

注:如果还是用 req.connection.remoteAddress 来获取IP,发现获取到的还是  127.0.0.1

nginx反向代理node.js获取客户端IP

原文地址:http://www.cnblogs.com/xbblogs/p/7976406.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved