我维护一个包含大量可下载文件的站点。它目前托管在美国的服务器上,但我最近在德国购买了一台新服务器。我想将下载镜像到德国的服务器,并在第一台服务器(托管网站)上有一个 PHP 脚本,根据用户的位置检测要使用的文件镜像。例如,如果用户在加拿大,他们应该从我目前在美国的服务器下载文件。如果他们在法国,他们应该从德国获取文件,而不是跨大西洋下载。那么,我怎样才能确定他们离哪个国家更近呢?
我知道 MaxMind GeoIP,并安装了它,但这只是给了我一个国家,而且 AFAIK,没有办法自动确定给定国家最接近我的两个镜像国家中的哪一个。我想我能做的就是按大陆:让亚洲、欧洲、非洲和澳大利亚的用户从德国获取内容,让北美和南美的访问者从美国获取文件如果有人能想到更好的解决方案,我愿意接受建议。
好吧,我想我会按照我最初的按大洲检查的想法去做。对于其他想要做这种事情的人来说,这将是一个很好的起点。当我在欧洲有多个镜子时,问题就会出现,但大陆的想法现在必须奏效。