Назад | Перейти на главную страницу

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;
}

Но это не сработало, поэтому я пытаюсь понять, как лучше всего этого добиться. Любая помощь приветствуется.

это не связано с вашей проблемой, но я думаю, что лучше перенаправить пользователей на ближайший сервер, используя geodns, таким образом у вас нет рукопожатия tcp, потому что клиент DNS использует udp

Для каждого из этих поддоменов добавьте запись A в конфигурацию DNS с IP-адресом сервера для этого региона:

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