nginx配置
如上面配置,接口需要使用的时候获取X-real-ip就可以,但是经过测试以后,发现X-real-ip并不是真实的用户IP,而是Nginx代理服务器的IP,原因就是经过多级代理,$remote_addr是上一级的IP。
名词解释
- $remote_addr
获取到上一级代理的IP - proxy_add_x_forwarded_for
- 获取到结果例如:(223.104.6.125, 10.10.10.45),第一个是用户的真实IP,第二个是一级代理的IP,依此类
通过上面的分析我们可以从proxy_add_x_forwarded_for中获取到用户的真实IP,使用正则匹配获取第一个即可,如下:
也可以通过后台的程序,从请求的header里获取X-Forwarded-For,然后取起一个值即可
嗯,就酱~~
Original: https://www.cnblogs.com/jin-zhe/p/11989012.html
Author: 靳哲
Title: 通过Nginx获取用户真实IP
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/544211/
转载文章受原作者版权保护。转载请注明原作者出处!