我的 nginx 服务器在 haproxy 后面,它在 Varnish 后面:
请求 web => Varnish => HaProxy => Nginx
我遇到的问题是我无法检索客户端的 IP 地址,在 nginx 日志中我只有 haproxy 的 IP 地址,所以我认为我的 XForwardfor 不好。
这是我为 Varnish 写的:
remove req.http.X-Forwarded-For;
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;
这是我放在 haproxy 上的:
期权转发
在 nginx 中我配置了 http_real_ip_module 并且我有:
set_real_ip_from 192.168.1.2; real_ip_header X-Forwarded-For;
谢谢
PS:如果我删除 Varnish,并将 Haproxy 放在端口 80 上,我就有了真实的 IP 地址。