我想通过国家代码来阻止来自某些国家的访问者,而不是通过维护大量的 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.";
}
}