gpt4 book ai didi

config - Varnish 4 日志记录代理/负载平衡器,而不是客户端 IP 地址

转载 作者:行者123 更新时间:2023-12-03 17:47:03 25 4
gpt4 key购买 nike

因此,我试图在 nginx 前面和 AWS 负载均衡器后面获取新安装的 Varnish 4(到目前为止我们一直使用 3)下记录的客户端 IP 地址,并且似乎无法获取客户端 IP在 Varnish 下登录的地址。

之前在 3 中,我们在 sub_recv() 的顶部使用了这个:

std.collect(req.http.x-forwarded-for);
if (req.http.X-Forwarded-For)
{
set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
} else
{
set req.http.X-Forwarded-For = client.ip;
}

还有这在另一台服务器上:
std.collect(req.http.x-forwarded-for);
if (req.http.x-forwarded-for) {
std.log("ip:" + req.http.x-forwarded-for);
} else {
std.log("ip:" + client.ip);
}

然而,这些都不能在 Varnish 4 中工作,第一个代码块本质上是我读到的在这一点上被编码成 varnish 的内容。
我也试过这个没有用:
remove req.http.X-Forwarded-For;
set req.http.X-Forwarded-For = client.ip;

最后一项仍然是 vcl 中的内容。我已将整个 vcl 放在 Pastbin ( http://pastebin.com/Q1nCprxL ) 上,并删除了一些不相关的部分。
x-forwarded-for 在那里,varnish 只是记录最右边的 IP 地址而不是最左边的 IP 地址。
X-Forwarded-For: 209.53.112.36, 172.25.10.228

最佳答案

所以很可能这些方法都应该有效。但是,您实际使用哪一个取决于您自己。事实证明,我的问题的答案不是由于 3 和 4 之间的任何差异,而是 lack of a return(hash) at the end of vcl_recv() (以及一个可能的错误,它会删除​​除 X-Forwarded-For 中的最后一个 IP 之外的所有内容)。

关于config - Varnish 4 日志记录代理/负载平衡器,而不是客户端 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42566529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com