我运行的网站背后有一个Squid反向代理,它提供大部分缓存的内容(包括html,而不仅仅是图像,等等)。我需要显示一个不同的内容,我们的用户位于美国。为了做到这一点,我们有什么解决办法?
我考虑过使用一些像edgedirector.com这样的geo服务,并将美国用户转移到一个不同的IP上,但我对geo解决方案有严重的怀疑。据我所知,网络服务提供商的DNS服务器(或OpenDNS、Google公共DNS等)的位置只能由边缘主管知道。客户使用,而不是客户的位置。我真的不明白他们怎么能知道客户端的IP,在气象上客户端不需要直接查询边缘董事。
我认为另一个解决方案是使用javascript和MaxMind GeoIP或Google客户端位置,但这太慢了。
我还考虑使用一些反向代理,如Squid、Varnish、Ngninx等,它直接与Maxmind软件(或其他软件)一起工作,而不需要转到后端(例如,每个国家都需要缓存副本)。不知道这是否有可能与Squid或其他一些反向代理。
发布于 2011-04-05 04:52:51
如果两个用户--一个是US,另一个是对同一个文件static.html的非US请求--并且您希望向每个用户显示一个不同的版本,那么squid help.You就不能在nginx中使用MaxMind的GeoIP。
http://wiki.nginx.org/HttpGeoIPModule
https://serverfault.com/questions/255689
复制相似问题