静态站点最轻的 IP 地理定位技术?

静态站点最轻的 IP 地理定位技术?

我运营的网站使用 Squid 反向代理,该代理提供大部分缓存内容(包括 html,而不仅仅是图片等)。我需要为位于美国的用户显示不同的内容。为了做到这一点,我们有什么解决方案?

我考虑过使用一些 geo dns 服务(如 edgedirector.com)并将美国用户移至其他 IP,但我对 geo DNS 解决方案深表怀疑。我知道 edgedirector 只能知道客户端使用的 ISP DNS 服务器(或 OpenDNS、Google Public DNS 等)的位置,但不知道客户端的位置。我不太明白他们如何知道客户端的 IP,理论上客户端不需要直接查询 edgedirector。

我想到另一个解决方案是使用 javascript 和 MaxMind GeoIP Javascript Web 服务或 Google API 客户端定位,但这太慢了。

我还考虑过使用一些反向代理,如 Squid、Varnish、Ngninx 等,它们可以直接与 Maxmind 软件(或其他软件)配合使用,而无需转到后端(例如每个国家/地区的缓存副本)。不知道使用 Squid 或其他反向代理是否可以做到这一点。

答案1

如果两个用户(一个美国人,另一个非美国人)请求同一个文件 static.html ,并且您想要向他们每个人显示不同的版本,那么 squid 将无济于事。您可以将 MaxMind 的 GeoIP 与 nginx 一起使用。

http://wiki.nginx.org/HttpGeoIPModule

相关内容