来自 Varnish + Cloudflare 的真实 IP 地址

来自 Varnish + Cloudflare 的真实 IP 地址

我正在尝试编辑 default.vcl 文件,以便让真实的客户端 IP 地址显示在我的 Wordpress 中。我在网上找到了这个,并阅读了很多相关页面,但都无法成功。我使用的是 varnish-4.0.1 修订版 4354e5e。

我将其添加到 VCL 文件中,

sub vcl_recv {
    remove req.http.X-Forwarded-For;
    if (req.http.cf-connecting-ip)
    {
        set req.http.X-Forwarded-For = req.http.cf-connecting-ip;
    }
    else
    {
        set req.http.X-Forwarded-For = client.ip;
    }
}

但是,在此之后,Varnish 服务无法启动。当我返回默认 VCL 文件时,一切又恢复正常。有人能帮我解决这个问题吗?顺便说一下,我也使用 Cloudflare。

答案1

你需要检查你的 VCL 是否符合 Varnish 4
https://www.varnish-cache.org/docs/trunk/whats-new/upgrading.html

相关内容