设置Nginx代理后ExpressJS获取不到真实IP地址

0 点赞
0 条评论
650 次浏览
发布于 9 个月前

由于服务器配置了Nginx的反向代理,在ExpressJS中无法获取到真实的IP地址。本文就介绍了如何配置Nginx以及ExpressJS使其可以显示用户的真实地址。

Nginx中的配置

location / {
	proxy_set_header  Host $host;
	proxy_set_header  X-Real-IP $remote_addr;
	proxy_set_header  X-Forwarded-Proto https;
	proxy_set_header  X-Forwarded-For $remote_addr;
	proxy_set_header  X-Forwarded-Host $remote_addr;
	proxy_pass    	  https://www.mingdev.com;
}

ExpressJS中的设置

app.set('trust proxy', 'loopback');

通过上述的设置,现在你使用req.ip或req.ips就可以获取到用户真实的IP地址了。

参考资料

    Express behind proxies (官网关于Proxy的文档)

版权所属:开发日记
转载时必须以链接形式注明原始出处及本声明。
"赞助我们,我们才能做的更多&更好"
赞助支持
还没有评论
写下你的评论...