当前位置: 首页 > 知识库问答 >
问题:

Express-req.ip返回127.0.0.1

吴靖
2023-03-14

我的express服务器运行在端口3000上,反向代理是nginx。

ip总是返回127.0.0.1,而req.ips返回一个空数组

var ip_addr = req.headers['X-FORWARDED-FOR'] || req.connection.remoteAddress;
server {
    listen 80;
    server_name localhost;
    access_log /var/log/nginx/dev_localhost.log;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

共有1个答案

呼延沈义
2023-03-14

您需要将适当的x-forwarded-for标头传递给上游。将以下行添加到上游配置中:

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
 类似资料:
  • 如何在Express js中从数据库中取回对象?当我执行POST请求时,我只返回状态201,而不是响应中的对象。 按照下面的方式,它返回一个空的res.data字段,而不是对象。 要将所有对象恢复到数组中,我可以这样做:

  • 我是新来表达,目前如果我想发送一个回应,我会这样做 对于我所有的控制器函数,我会这样做。我想这是一种压倒性的,所以我在想是否有可能制作一个广义版本的响应。 所以经过一些搜索,我发现有两种方法可以实现这一点: 我找到了这个答案。这很清楚,但我认为这是浪费时间,我的控制器不够可读,我必须在每个控制器函数中做以下事情 这是非常有希望的,但不幸的是,经过这么多次尝试和遵循express docs,我无法让

  • 从昨天晚上开始,我的“Express-Checkout API”出现了问题。 每次如果我调用uri https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=ec-0w349....... 请联系服务器管理员webmaster@paypal.com,并通知他们错误发生的时间,以及您所做的可能导致错误的任何事情

  • 我有一个运行在后端的Node/Express服务器和一个react前端,我正在尝试制作最简单的API——但无论我做什么,我似乎都在post请求中遇到了404错误。我已尝试将代理添加到包中。json,删除代理并在地址i中包含端口。。Ehttp://localhost:5000/createaccount,包括http://localhost:5000只需在post请求中使用“/createaccou

  • 编辑:我在这里不问任何关于cors的问题 所以我花了几个小时试图弄清楚发生了什么,嗯...我失去了它... 所以我有一个简单的应用程序,服务器部分用nodejs制作,前端用react制作,它们运行在不同的端口上,所以我使用了cors模块。 而res2是未定义的。 我错过了什么?

  • 问题内容: 例如我有一个功能: 我怎样才能返回AJAX后得到的? 问题答案: 因为请求是异步的,所以您无法返回ajax请求的结果(而同步ajax请求是一个 糟糕的 主意)。 最好的选择是将自己的回调传递给f1 然后,您将像这样致电: