关于nginx获取客户端IP

Yangder
  • 11

使用的AngluarJs,服务器为Nginx。

这里没有使用外围接口获取IP,也不考虑隐藏、多代理等,只是单纯的获取到与服务器握手的IP地址。想实现下自己的想法。

想在前端获取到当前客户端的IP地址,思路如下:
1、在nginx.conf里面配置了 add_header real_ip $remote_addr
2、前端$http.head(),用xhr.getResponseHeader(“real_ip”)这样获取

实际上,获取到的为服务器地址,即nginx的地址。
也试过什么:
add_header real_ip $proxy_add_x_forwarded_for
add_header real_ip $http_x_forwarded_for
add_header real_ip $http_client_ip
发现remote_addr、proxy_add_x_forwarded_for获取到的均为服务器地址,而http_x_forwarded_for、http_client_ip压根就是没有添加到Header里面。

对此深表困惑,不知这种方法获取IP有哪些地方不对?

回复
阅读 3.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏