0

ip 有请求流过 3 个 nginx 代理,并且 ip 得到了 x-forwarded-for 列表 ip:

192.168.10.222, 192.168.10.178, 192.168.10.179

如何使用地图模块获取第一个 ip?我找到了这个但不能让它工作:

map $proxy_add_x_forwarded_for $client_ip {

"~(?<IP>([0-9]{1,3}\.){3}[0-9]{1,3}),.*" $IP;

}

从这里开始:https ://webkul.com/blog/x-forwarded-for-header-in-nginx- contains-mulitple-client-ips

谢谢

4

1 回答 1

1

这就是你要找的:

map $proxy_add_x_forwarded_for $client_ip {"~(?<IP>([0-9]{1,3}\.){3}[0-9]{1,3}),.*" $IP;}

它将 3 的第一个 ip 映射到变量 $client_ip。作为服务器和位置范围之外的一条线。

于 2020-04-09T10:10:20.143 回答