我的 nginx 配置是 -
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
set_real_ip_from 55.55.55.1;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
Run Code Online (Sandbox Code Playgroud)
我想知道我是否正确理解了这个配置。假设用户有一台机器 -
1. 在 ip 11.11.11.11
2. 用户在具有 IP 的代理后面22.22.22.22
3. 用户发送请求,到达负载均衡器55.55.55.1,负载均衡器将其路由到 nginx。
然后,一旦 nginx 完成其工作,请求将具有以下到达服务器的标头 -
a. X-Forwarded-For: [11.11.11.11, 22.22.22.22, 55.55.55.1]
湾 X-Real-IP: 22.22.22.22(因为 nginx 会X-Forwarded-For从数组的末尾递归到数组的开头,并找到第一个不受信任的 ip)
c. 如果X-Forwarded-For请求中不存在,则$remote_addr在X-Real-IP标头中使用 value ,否则通过在X-Forwarded-For标头数组上递归覆盖,考虑set_real_ip_from规则。
请让我知道点“a”、“b”和“c”是否正确。如果不正确,我想知道原因是什么?