我想用我的弗吉尼亚(加利福尼亚州)服务器为东(西)海岸游客提供服务。为此,我计划使用Geoipdns和MaxMind的IP到位映射。 MaxMind免费提供两个数据集:GeoLite Country和GeoLite City。但是,它们都没有定义东/西海岸地区。一个可能的解决方案是编写一个脚本来组合GeoLite City中东/西海岸城市的所有IP范围,但这听起来有点愚蠢。
这样做的最佳做法是什么?有什么建议或替代方案吗?
答案 0 :(得分:2)
你是在思考这个问题。
GeoIP City API gives you a state code。
花费十分钟,并列出要发送到辅助服务器的状态列表。
Perl:
my %west_coast_states = qw( ca or wa ut nv ... );
my $state = ip_to_state_code();
if ($west_coast_states{$state}) {
# send West Coast states to West Coast server
} else {
# all other users sent to East Coast server
}