如何在 centos 上使用 varnish 阻止访客,使用 nginx 作为后端?

如何在 centos 上使用 varnish 阻止访客,使用 nginx 作为后端?

我想通过国家代码来阻止来自某些国家的访问者,而不是通过维护大量的 IP 范围。我可以只使用 nginx 来做到这一点,但我刚刚将 varnish 配置为前端,但我还没有找到任何解决方案。我使用的是 centos 6.4 x64。

谢谢你的建议

答案1

使用一些 Varnish 的 GeoIP 模块。geoip-vmod例如。

答案2

如果您安装https://github.com/iwebhosting/varnish-geoip然后您可以在 vcl_recv 中执行以下操作:

sub vcl_recv {
  if (req.http.X-Geo-IP ~ "IE|FR|US") {
    error 503 "Your country has been blocked.";
  }
}

相关内容