Nginx - 如何进行两层 GEO 重定向?

Nginx - 如何进行两层 GEO 重定向?

我试图根据两个条件重定向访问者,一个基于大陆,然后基于他们的国家,以下是我最终想出的当前地图:

## GeoIP Redirection
map $geoip_city_continent_code $closest_server {
  default row.example.com;
  EU      www.example.com;
  NA      us.example.com;
}
map $geoip_city_country_code $closest_server {
  CH      ch.example.com;
}

但这种方法行不通,因此我试图了解实现此目的的最佳方法是什么。如能提供任何帮助,不胜感激。

答案1

这与您的问题无关,但我认为最好使用 geodns 将用户重定向到最近的服务器,这样您就无需进行 tcp 握手,因为 dns 客户端使用 udp

答案2

对于每个子域,请在 DNS 配置中添加一个 A 记录,其中包含该地区服务器的 IP:

EU      www.example.com - 1.1.1.2
NA      us.example.com  - 1.1.1.3

相关内容