IP地址与CloudFront冲突

时间:2017-05-17 14:48:07

标签: amazon-cloudfront varnish varnish-vcl

我有一个由CloudFront-> Origin-> Varnish-> Apache组成的网络堆栈,并且遇到了一些问题,其中包含了在通过时修改IP地址的方式。我们的一个要求是根据用户地理区域进行一些工作。为此,我使用GeoIP插件进行清漆处理,效果很好(https://github.com/varnish/libvmod-geoip)。

随着CloudFront的混合,我现在看到X-Forwarded-For标头被附加到我假设的云端IP地址。这导致IP查找失败。有没有办法阻止CloudFront附加到该标头,或者VCL中有没有办法用逗号分割IP地址并迭代它们?这至少可以让我用一些回退逻辑来处理查找成功。目前我正在致电

if (req.http.x-forwarded-for) {
  set req.http.X-Country-Code = geoip.country_code(req.http.X-Forwarded-For);
}

谢谢!

1 个答案:

答案 0 :(得分:0)

原来,CloudFront为我们工作。在分发行为的配置中,您需要为CloudFront-Viewer-Country添加白名单标题,然后在请求中传递2个字符的国家/地区代码