阿里云使用 SLB 如何获取用户真实地址?
参考文档: https://help.aliyun.com/document_detail/54007.html
当用户正常请求的时候可以解析出真实的地址,已经对阿里云内部 IP 进行白名单验证。
但是,用户自行伪造 x-forwarded-for 的时候,那么用户真实 IP 的地址将会自动附加到最后面。
curl -H "X-Forwarded-For: 107.186.12.3, 102.37.36.6, 16.7.3.4" https://xxx.com
[HTTP_X_FORWARDED_FOR] => 107.186.12.3, 102.37.36.6, 16.7.3.4, 14.152.49.160
1
opengps 2018 年 11 月 23 日
你自己都说了,最后的是真实 ip,那就写代码截取吧
|
2
odirus 2018 年 11 月 23 日
从左到右找到第一个不是内网地址的 IP
|
3
xyjincan 2018 年 11 月 23 日 via Android
,,,啥原理
|
4
ChristopherWu 2018 年 11 月 23 日
@xyjincan 毛遂自荐,请参考我这篇文章: https://yonghaowu.github.io/2018/11/23/get_reql_ip/
|
6
C0reFast 2018 年 12 月 25 日
使用 4 层负载均衡,直接拿 clientIp 就是用户发起 tcp 连接的那个真实客户端地址。
|