gpt4 book ai didi

proxy - 当服务器在 Varnish 反向代理之后(反过来又在负载均衡器之后)时,在apache日志中获取客户端IP地址

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

我遇到了这个问题,无法找到我的网站的唯一访问者。该站点已部署在AWS云上。第一个命中点是负载均衡器,该负载均衡器路由到 Varnish 缓存(反向代理的类型),然后又路由到apache Web服务器。我的apache conf文件中有以下配置:

LogFormat“%{X-Forwarded-For} i%l%u%t\”%r\“%> s%b\”%{Referer} i\“\”%{User-Agent} i\“\” %{forensic-id} n\“” Varnish 组合

CustomLog日志/access_log varnishcombined

在我的 Varnish 文件中,我有以下内容:
子vcl_recv {

unset req.http.X-Forwarded-For;
set req.http.X-Forwarded-For = client.ip;

当我检查访问日志时,我看到所有请求都具有负载均衡器IP,而不是请求来自的客户端的实际IP。实际上,它是AWS负载均衡器的IP。

如果删除任何一个 Varnish 或负载平衡器,则我的访问日志中包含捕获客户端IP地址的正确条目。

有人面对过这种情况吗?

曼格什

最佳答案

在vcl_recv子目录中使用此命令具有IP列表(包括您的ELB和客户端IP)

if (req.restarts == 0) {
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;
}
}

关于proxy - 当服务器在 Varnish 反向代理之后(反过来又在负载均衡器之后)时,在apache日志中获取客户端IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15547483/

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