nginx转发后后端怎么获取用户真实IP

jk 1年前 ⋅ 2185 阅读

源于:今日头条(查看原文)

经常有需求要获取访问用户的IP。

在经过nginx转发后真实IP就被隐藏起来了。

我们需要在头部信息里拿真实IP。

下面是拿IP的代码,考虑了各种情况。

nginx转发后后端怎么获取用户真实IP

但是后面还是一直拿不到真实的IP。

基本上拿到的都是127.0.0.1 。

后面我把请求头都输出来了 。

我们在控制台把所有请求头输出来看看 获取请求头代码。

nginx转发后后端怎么获取用户真实IP

输出结果如下

nginx转发后后端怎么获取用户真实IP

发现确实真实IP没有被带过来,我用的是nginx的默认配置,是不会带过来的。

需要添加转发的配置,将用户真实的IP设置到请求头中,然后带过来。

在nginx.conf中的location中增加如下代码:

nginx转发后后端怎么获取用户真实IP然后再次请求就能看到输出的请求头的信息就多了一个x-forwarded-for。

真实IP被带过来了。

nginx转发后后端怎么获取用户真实IP


全部评论: 0

    我有话说: