nginx经过多层代理后怎么获取真实来源ip

2023-04-19 13:52:00 获取 来源 多层

在nginx中,要获取真实来源IP,需要通过多层代理来实现。首先,需要在nginx服务器上配置一个代理,以实现从客户端到服务器的通信,并将真实来源IP存储在某个HTTP头部中。其次,在nginx服务器上配置另一个代理,以实现从服务器到客户端的通信,并将真实来源IP从HTTP头部中读取出来。最后,在nginx服务器上配置一个反向代理,以实现从客户端到服务器的反向代理,并将真实来源IP从HTTP头部中读取出来。

首先,在nginx服务器上配置一个正向代理,以实现从客户端到服务器的通信。在配置正向代理时,需要在nginx.conf文件中添加如下代码:

    proxy_set_header X-Real-IP $remote_addr;

上述代码表示,把客户端的IP地址存储在HTTP头部的X-Real-IP字段中,以便后续获取。

其次,在nginx服务器上配置另一个代理,以实现从服务器到客户端的通信。在配置反向代理时,需要在nginx.conf文件中添加如下代码:

    proxy_set_header X-Real-IP $http_x_real_ip;

上述代码表示,从HTTP头部的X-Real-IP字段中读取客户端的IP地址,并将其存储在X-Real-IP字段中,以便后续获取。

最后,在nginx服务器上配置一个反向代理,以实现从客户端到服务器的反向代理。在配置反向代理时,需要在nginx.conf文件中添加如下代码:

    proxy_set_header X-Real-IP $http_x_real_ip;

上述代码表示,从HTTP头部的X-Real-IP字段中读取客户端的IP地址,并将其存储在X-Real-IP字段中,以便后续获取。

通过上述配置,nginx服务器就可以在多层代理的情况下获取真实来源IP。

相关文章